From nobody Tue Apr 7 06:49:12 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 642E2ECAAD4 for ; Tue, 30 Aug 2022 23:19:11 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229959AbiH3XTK (ORCPT ); Tue, 30 Aug 2022 19:19:10 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38802 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231895AbiH3XSL (ORCPT ); Tue, 30 Aug 2022 19:18:11 -0400 Received: from mail-pj1-x104a.google.com (mail-pj1-x104a.google.com [IPv6:2607:f8b0:4864:20::104a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0F500A2A88 for ; Tue, 30 Aug 2022 16:16:49 -0700 (PDT) Received: by mail-pj1-x104a.google.com with SMTP id m11-20020a17090a3f8b00b001fabfce6a26so5453997pjc.4 for ; Tue, 30 Aug 2022 16:16:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:reply-to:from:to:cc; bh=er0rn6CeFv2sFug+64NWnb5+gXtVZZy3ObF582jX2a4=; b=AbJsqnH0z4stM3Vcz6sOQuRN8elndSRUZ0ln3mBw6V20SASPLfRMYDoxB/WelEtthW E2GG2rUuCOd16ZdFy5RSYEmBbQEoPNycZhydTaQQM6DOg90hbXveQ56NE+MnvwJw1ams pnIhTLkS8aaPtR9K/QIcbYei24WN9gMIXPx9HJFkYc445DOAIedZ/dPdFO9yBg3nPl6O vgfU+qRKYBrZf8sS8Lbsx3UO2IOS/RL77TdQQMf3aizMBe4Pp3t2Nm6aQ2vom5LTGU2m PuLRQHVCx8i5RPlfS4FGuB1BehXf+ewox10iKsJjbuz2XWaf9w+it9i+X10Z0FtzVw++ UuuQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:reply-to:x-gm-message-state:from:to:cc; bh=er0rn6CeFv2sFug+64NWnb5+gXtVZZy3ObF582jX2a4=; b=qVEKc7CXrHtJGcxdgYM+oktV1KXlyC/qUYNFBXiR1miozrUZsLsWPyvq6JJcqjZPpX IEp/6fN7B5xYrvBVO8dAG4fs27eRFJx5uvM/izx1HU07+38ZwbT+n63buMsyaTeY8e/K ss/SIIf4HG8R4E7NJvKG93wFDkJ+spAl3O7d0ktXMdutnF/LFMu5bIXhvhxxwfCQ6EZo +V2YDTl80LuFzJizuaefSVk/wEnpnfBquQHCJAnBYiijVjCxlD+Qj4N7raoZQa4qYHL1 gBDBthCuYqSG5DH8tT7ny5GMQYXpY2zsfm0BptMce7He5T7wLzXWbQK9loP7+FD6qt3o wT4g== X-Gm-Message-State: ACgBeo1lRcHSceXXoZ/FCJSWLB9/QOG25GpHA2A8ERuu5G0rHoNBGCB6 oZIy8mpPQUGLsnGAjwx8+QEhYSEpY+8= X-Google-Smtp-Source: AA6agR7t5PHHGecbEoijbNb/kN8TA45y5UzQ9XctwWfmoTT3LW+rvJ+HP0dXBYP+FTPo4Cm8X7zNucFS+EY= X-Received: from zagreus.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:5c37]) (user=seanjc job=sendgmr) by 2002:a17:90a:249:b0:1e0:a8a3:3c6c with SMTP id t9-20020a17090a024900b001e0a8a33c6cmr11251pje.0.1661901397020; Tue, 30 Aug 2022 16:16:37 -0700 (PDT) Reply-To: Sean Christopherson Date: Tue, 30 Aug 2022 23:15:59 +0000 In-Reply-To: <20220830231614.3580124-1-seanjc@google.com> Mime-Version: 1.0 References: <20220830231614.3580124-1-seanjc@google.com> X-Mailer: git-send-email 2.37.2.672.g94769d06f0-goog Message-ID: <20220830231614.3580124-13-seanjc@google.com> Subject: [PATCH v5 12/27] KVM: VMX: Inject #PF on ENCLS as "emulated" #PF From: Sean Christopherson To: Sean Christopherson , Paolo Bonzini Cc: kvm@vger.kernel.org, linux-kernel@vger.kernel.org, Jim Mattson , Maxim Levitsky , Oliver Upton , Peter Shier Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Treat #PFs that occur during emulation of ENCLS as, wait for it, emulated page faults. Practically speaking, this is a glorified nop as the exception is never of the nested flavor, and it's extremely unlikely the guest is relying on the side effect of an implicit INVLPG on the faulting address. Fixes: 70210c044b4e ("KVM: VMX: Add SGX ENCLS[ECREATE] handler to enforce C= PUID restrictions") Signed-off-by: Sean Christopherson Reviewed-by: Maxim Levitsky --- arch/x86/kvm/vmx/sgx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/kvm/vmx/sgx.c b/arch/x86/kvm/vmx/sgx.c index aba8cebdc587..8f95c7c01433 100644 --- a/arch/x86/kvm/vmx/sgx.c +++ b/arch/x86/kvm/vmx/sgx.c @@ -129,7 +129,7 @@ static int sgx_inject_fault(struct kvm_vcpu *vcpu, gva_= t gva, int trapnr) ex.address =3D gva; ex.error_code_valid =3D true; ex.nested_page_fault =3D false; - kvm_inject_page_fault(vcpu, &ex); + kvm_inject_emulated_page_fault(vcpu, &ex); } else { kvm_inject_gp(vcpu, 0); } --=20 2.37.2.672.g94769d06f0-goog