From mboxrd@z Thu Jan 1 00:00:00 1970 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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 543C4C4829B for ; Mon, 12 Feb 2024 16:27:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B41236B0074; Mon, 12 Feb 2024 11:27:26 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id AF1376B0075; Mon, 12 Feb 2024 11:27:26 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9DFFF6B0078; Mon, 12 Feb 2024 11:27:26 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 8EEDC6B0074 for ; Mon, 12 Feb 2024 11:27:26 -0500 (EST) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 2BD0DC0168 for ; Mon, 12 Feb 2024 16:27:26 +0000 (UTC) X-FDA: 81783682092.16.2EB3446 Received: from mail-yb1-f202.google.com (mail-yb1-f202.google.com [209.85.219.202]) by imf12.hostedemail.com (Postfix) with ESMTP id 5DBF340016 for ; Mon, 12 Feb 2024 16:27:24 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=aNzGpflQ; spf=pass (imf12.hostedemail.com: domain of 360bKZQYKCNYK62FB48GG8D6.4GEDAFMP-EECN24C.GJ8@flex--seanjc.bounces.google.com designates 209.85.219.202 as permitted sender) smtp.mailfrom=360bKZQYKCNYK62FB48GG8D6.4GEDAFMP-EECN24C.GJ8@flex--seanjc.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1707755244; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=jEjTcKce0fZYlWVBDi232LEPLK7jT44Dgj/oRcn95IY=; b=yaZ4Gln26pPPcLnQ4igt/CrIF4Gk95SOrtDLGYq9ieNv76phWdd8yTyxe/lNGRByi1WZBq RmI4xl24WaXJkJqlI7lCHIJQ8K1vK8FGYpbq1AidlllpbwYBAkUXCaeMgf+e5zKzkFUXNo VpmGvzAZMW8xwqhq9EI+JbGKUiZyheg= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1707755244; a=rsa-sha256; cv=none; b=kwdNsgFXcX4fXMBWnb7J/CJe0Kduk005Z/j3plz6Se8teyGz/9AiZFBThQIJ+HM1CE6ywF P2Gty7xG+hNNzzMv+Fi3MfO/Yn7dh0IKyeLcA2r9jQhgKbbxkINraYwqFWgJyaaj+iF9Iy aej43YqZHZS7eHLaL1xrZ+4txCaXkr8= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=aNzGpflQ; spf=pass (imf12.hostedemail.com: domain of 360bKZQYKCNYK62FB48GG8D6.4GEDAFMP-EECN24C.GJ8@flex--seanjc.bounces.google.com designates 209.85.219.202 as permitted sender) smtp.mailfrom=360bKZQYKCNYK62FB48GG8D6.4GEDAFMP-EECN24C.GJ8@flex--seanjc.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com Received: by mail-yb1-f202.google.com with SMTP id 3f1490d57ef6-dc6b269686aso5390049276.1 for ; Mon, 12 Feb 2024 08:27:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1707755243; x=1708360043; darn=kvack.org; h=content-transfer-encoding:cc:to:from:subject:message-id:references :mime-version:in-reply-to:date:from:to:cc:subject:date:message-id :reply-to; bh=jEjTcKce0fZYlWVBDi232LEPLK7jT44Dgj/oRcn95IY=; b=aNzGpflQMBJwwywjZ8HGnb5H+ZeVUSmNrGcT2qspok/qWAPQ9iEIodFgoTLme+MwJV u/WsCMUp9aGo8yXuonupCkQ6vipRlj6Iy4SLa7s16G/B6UOccNSliC6r/3Fo7wYhGGlH 93SXZ6nJVogTjG7w+EoIw2XbiU3LMun380ZD4c3Smqs11WmKherBDUILwLnEBHHUCWlW jFbZzc+37NgGOTJW5L3Wa/ZzGbLRERxJhVxhVQT3qLOkSNrvLdj44r5v9Y3lGiT5HUC3 TD+kbGGp8m12GvUq6EWRa1uz+1OLR9wYn9Ky3zcgo/b89TAWU/IUYMFgejRGaHsBgabW 1vbQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1707755243; x=1708360043; h=content-transfer-encoding:cc:to:from:subject:message-id:references :mime-version:in-reply-to:date:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=jEjTcKce0fZYlWVBDi232LEPLK7jT44Dgj/oRcn95IY=; b=Nvym5Y5AEwqpQwZ/tKpOiwbiOTg509VnoXwWaVDhK2eOPxs2OFQJjbB0j7r6BCQnzG ikhKdtNx9NFRBf2QvxKaSjRxULaMzNvidf4HygZNrLFfH/ff0vV8+mlwbOgIEfQiibJb CanzzgdsmjfPuSx4M+55aqGGJdoQyoDwn2j8DxnYPb+YlNU8aHlWUpTH7m1f+xREOjtC 2t5VZWd0dj+TsjVMFHetu5CdiPGJjYXfQSoUXPy4Jt5LY9GBwBIBgH03X0mWtLr/T4DH GtrMGgNdmMoDuAQUvzX75zWE03N1Gd+OoL6OLaXhftYBaIPfK/DvXrwiKz2krwkMhvYS HSpw== X-Gm-Message-State: AOJu0Yx8d65xHkufqmUqP8lI4JIFKnZkWPQqIq7WhTCzK6mO0vjm0Ut1 AdUQJMgguTKoVHjHN5/1V+wZCC4sWZdUTqIixxGsKbjP24Gg1AKP5zUi7YYnGuXBk/3CbGUhBAZ RUA== X-Google-Smtp-Source: AGHT+IEsXJBF4/bgLbVzuTLfn0V+5NyBJ3BEiCA1tlOmkNRLRYQ2dckzNx5kcO0b5SJRLl+MJVUD0K6FNQI= X-Received: from zagreus.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:5c37]) (user=seanjc job=sendgmr) by 2002:a05:6902:1005:b0:dcb:c2c0:b319 with SMTP id w5-20020a056902100500b00dcbc2c0b319mr42995ybt.9.1707755243421; Mon, 12 Feb 2024 08:27:23 -0800 (PST) Date: Mon, 12 Feb 2024 08:27:21 -0800 In-Reply-To: Mime-Version: 1.0 References: <20231230172351.574091-1-michael.roth@amd.com> <20231230172351.574091-10-michael.roth@amd.com> Message-ID: Subject: Re: [PATCH v11 09/35] KVM: x86: Determine shared/private faults based on vm_type From: Sean Christopherson To: Paolo Bonzini Cc: Michael Roth , kvm@vger.kernel.org, linux-coco@lists.linux.dev, linux-mm@kvack.org, linux-crypto@vger.kernel.org, x86@kernel.org, linux-kernel@vger.kernel.org, tglx@linutronix.de, mingo@redhat.com, jroedel@suse.de, thomas.lendacky@amd.com, hpa@zytor.com, ardb@kernel.org, vkuznets@redhat.com, jmattson@google.com, luto@kernel.org, dave.hansen@linux.intel.com, slp@redhat.com, pgonda@google.com, peterz@infradead.org, srinivas.pandruvada@linux.intel.com, rientjes@google.com, dovmurik@linux.ibm.com, tobin@ibm.com, bp@alien8.de, vbabka@suse.cz, kirill@shutemov.name, ak@linux.intel.com, tony.luck@intel.com, sathyanarayanan.kuppuswamy@linux.intel.com, alpergun@google.com, jarkko@kernel.org, ashish.kalra@amd.com, nikunj.dadhania@amd.com, pankaj.gupta@amd.com, liam.merwick@oracle.com, zhi.a.wang@intel.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Stat-Signature: ad9d87r81scsxu3sg37aesy9h8sqny1r X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 5DBF340016 X-Rspam-User: X-HE-Tag: 1707755244-540956 X-HE-Meta: U2FsdGVkX18SBXmz5OLXDxJQyqf47ndgpfp9oB7YnxBtFZAWh10eJOlNRuN6mAo7aqdrBylqOeGpQ/nZtr2L/mOJ4knSDG6W6xbKy31opAidlOVlElsguJRWq/+GYWnCIJsusYPPnCC8xS877q1MsACpsZChM7VPhu6TRRhuzI8C2FYGA2vdbeSUaiiCovo8/zy85r155xZESR94qlggoRHKNeIdRqpy298EkPZxUGP4okoPjwjaSaAMTBQvWth3oh28+zMPKnTDamOznVNUHlEHMv2ZeSeBL8/yX0owWyw+u7mVK1wLGpujV0vCE5bIbIdT7ueDOQwhbgn4KZuoFz9jyKH/o7kVYoVz8pCMwEvmQqlVnJ19owGpc/cQD96OW6k7PzPSDhMlTIb9IdlTCAZPtynuPxH8rUiE6Y6IhiHOcUwgNFBN3+b5+UYU+AUANb8X2/IgPKlJ/FLNQn40YKTnS1G1ffBdDL9UgwJUDPPI+akPLaS0HRZCI6FILY9Zzt3//gnGYD9cO3oRBw/J8hJgWJKWq9GUAgZhYveGcECJonQZTyUcKKVK/Wd6FaKpPH8VPHATr84KceCdcx9F86cknSukBIjMCOp8W+qsZ9lQITXCQYMM+fmHKzv9lISCDnVUFViWTxH5YWRYjSt54eGX6u2I6hwRaoG0gqlNJgawftM+w7U9m3n8cuiClKcaJl3lL8QLFlkGZwXaClkckpeecDUBMtKXBJCXQ2Kldohhj6xjyT4f2Hah0xzPuIndYd3vfsrsmQtQyt16fBr6hAjCGPKVgoJUnxyMxUdNZcHdwY5JEjf3ArIo3gG0W366T/b3wLs0vqYFKqlDpCN1SJ6hgViG4Odfn2WdfSVrvH3aZlnqPGPGJTmXF6DZBcs3b/XZ/54lTQaRByfZY5OuoCG3V+9l1JCXvlXcyo2nBufV890f5JVnttN2aQxTYmKpmf3Yp4etFeX728wi9IS Ai+ZeqL9 c++eNa6fyu59VmeI/GevRT+YRxgQrGMBtb/byWZbQpWo4lkLtdMGa3Q9A6YpK+sBwGXqtEtroEktrCZ6aRVIv9pHdXhXQPAgIpXHNRRme841RmAD0JCmw6cU1GPocXqwDiKdtdXhf3Y5Z7pFf5eOghYvLGxrJaFlc0KxtDdF1XhGLb/oubV3Id2L4fBuyAIqTjOHFEG0ZQZt7YkEUHbFwXp+2EEsyb3PdrQME69klPXXAHB7HOlHjwZU51CcQjIoxvWw1QCyoWTJpClvAiiXHGZpy5sYrZRyJd3Zkp3d+Fe1iLNsX8/U+RZ5WCLqwKv8hlRCqHVwXcvZh6EKYERMz4XZM35WpijHAwLB9G3VCvuu7L7cAT9AUG8MnTtqGwtyj9x9zKjwB4PVOu5za4MfEtCg+TiPQDT7yIbOUgvsAW78DYLvnfLOkd3DxOgrj37H5E3Ky4ZrS8BAmef9d/0q5rVQvAEDV1DIhVri3uqToAIqvnuGAUBRxuxwBNPFY4mPWWqBLKm9KDNCMAZNC6EvzLn4UmSphuwdUMPOwH40ah1MeLeqi/6PXcDfdN/a2kZlg4HfB6WCMQEbfP8SPDbsIgDdAFIbuQJfyszOsWNjZr1jhGdAn+Bt+wQXtDXaW8s1At1ajTxPxanETuUI= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Mon, Feb 12, 2024, Paolo Bonzini wrote: > On Sat, Dec 30, 2023 at 6:24=E2=80=AFPM Michael Roth wrote: > > > > For KVM_X86_SNP_VM, only the PFERR_GUEST_ENC_MASK flag is needed to > > determine with an #NPF is due to a private/shared access by the guest. > > Implement that handling here. Also add handling needed to deal with > > SNP guests which in some cases will make MMIO accesses with the > > encryption bit. > > > > Signed-off-by: Michael Roth > > --- > > arch/x86/kvm/mmu/mmu.c | 12 ++++++++++-- > > arch/x86/kvm/mmu/mmu_internal.h | 20 +++++++++++++++++++- > > 2 files changed, 29 insertions(+), 3 deletions(-) > > > > diff --git a/arch/x86/kvm/mmu/mmu.c b/arch/x86/kvm/mmu/mmu.c > > index d3fbfe0686a0..61213f6648a1 100644 > > --- a/arch/x86/kvm/mmu/mmu.c > > +++ b/arch/x86/kvm/mmu/mmu.c > > @@ -4331,6 +4331,7 @@ static int kvm_faultin_pfn_private(struct kvm_vcp= u *vcpu, > > static int __kvm_faultin_pfn(struct kvm_vcpu *vcpu, struct kvm_page_fa= ult *fault) > > { > > struct kvm_memory_slot *slot =3D fault->slot; > > + bool private_fault =3D fault->is_private; >=20 > I think it's nicer to just make the fault !is_private in > kvm_mmu_do_page_fault(). Yeah. I'm starting to recall more of this discussion. This is one of the = reasons I suggested/requested stuffing the error code to piggy-back the new SNP bit= ; doing so allows is_private to be computed from the get-go without needing any ven= dor specific hooks.