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 B48F6C5AE59 for ; Thu, 5 Jun 2025 17:43:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 37F276B00AE; Thu, 5 Jun 2025 13:43:42 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 32DFB6B00B6; Thu, 5 Jun 2025 13:43:42 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 21CCF6B00BC; Thu, 5 Jun 2025 13:43:42 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id EE2B96B00AE for ; Thu, 5 Jun 2025 13:43:41 -0400 (EDT) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 898231A11AF for ; Thu, 5 Jun 2025 17:43:41 +0000 (UTC) X-FDA: 83522069442.07.219345C Received: from mail-qt1-f177.google.com (mail-qt1-f177.google.com [209.85.160.177]) by imf14.hostedemail.com (Postfix) with ESMTP id D5440100004 for ; Thu, 5 Jun 2025 17:43:39 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=0YKirrTo; spf=pass (imf14.hostedemail.com: domain of tabba@google.com designates 209.85.160.177 as permitted sender) smtp.mailfrom=tabba@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=1749145419; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=z2CqoZ0AEAzoUtqdrcArln2L/gsL8eatF4pYDcOE/Uc=; b=vQAZfabAHC6UAXfCifClrtCfNxMwDLi8qcKGKdZ8y7ECQfaBhnGJ9LSTG3I1ZAJy0zluSd 1mP7+T/VwnrtviYJ+qLRwgZe97P+dLYaB2cZ6SVOnW+ckgRaq7Au6jtQo88Ws9UMC5nLi7 bSccfME/GT7d5NND4JkiMlWBHSZAFiM= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=0YKirrTo; spf=pass (imf14.hostedemail.com: domain of tabba@google.com designates 209.85.160.177 as permitted sender) smtp.mailfrom=tabba@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1749145419; a=rsa-sha256; cv=none; b=dkyJ/lJqsyiYUmqmub9+2V60jBQSL1DBR0VXPeESlzS+pzZCrogay94itdQ6d6UxVD6Jtw Xv+NtRZiwuJ96yubbmQKTZ5yIfZIzHV5auLyq01UNOKWsvLBQyJ2WuEyZTR4UAxMBKtkAA zldnJRJzQwoQponXMK5hSY/bkf/Dc6c= Received: by mail-qt1-f177.google.com with SMTP id d75a77b69052e-47e9fea29easo40841cf.1 for ; Thu, 05 Jun 2025 10:43:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1749145419; x=1749750219; darn=kvack.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=z2CqoZ0AEAzoUtqdrcArln2L/gsL8eatF4pYDcOE/Uc=; b=0YKirrTo16vRljs1PTIHuxj0wsApHfWNBi6YNthM7uMV3jFJOjt+StLGVDVcFx9q75 B1WhAfzs3c/wWmwUmuscuKrbU2p/xPoyGNgqTuRJgxz9bQT2QV9Vy0/RO7TUYZHhHa3O yje0AGIWfyOfFDELDoh7QgsQN6IUhHc2APvTWTZjrtKI/w5VyhgJ1oGq3L4XW1sWUwra 2bv7WIGsT4IIRlVP7XlQ9T8WZMRfRnHv7/DOCax2QR5QF4R0UXbkTb9MySzXK4LDEyPY r6IlzVPve6Osk2gcgJheqLLCppbjmaO4HJILQXhLuGKzHHhBOFx1eZMo2nQ2PEn92NiJ BSSQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749145419; x=1749750219; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=z2CqoZ0AEAzoUtqdrcArln2L/gsL8eatF4pYDcOE/Uc=; b=p+9UN5VfXmCKT1fhUWgBTntLE3+b7rAfQFSYVHkYFkhNyvlNsPDokcoU+Jgj1nFwEA MoLR8+9sU6DuYGq3iSPFI+QYloJwIe73KQLv/5SzGFsW2VfI5Z/94hhKNd7PkHJbiNU4 dFBUk6mXbZsjK6yrFXEaLBea7WD1tPxqBv5kz+WZSv1gT+F1vufuxlaV0gZjgOdEBdqu bHWWPBE3kF3Y0cXau+3y8YIulku8u48ADrzPInqqoi47dOgoZMBNE3IfukWUEpK1TY7G au0ECTB7NFeViPl53t4n3Lrcao6RaXqPkBYgXhDraAoaqG1mXKrYtfuX9Mwo8MuZ6vx0 AIaA== X-Forwarded-Encrypted: i=1; AJvYcCUAStuByEWFjN2znkPQSXbzRVw5ZP0XdorT+TIQ7DDEPIwjIe1kDQ8C5Gka6cK0wV5UbQAQARikGA==@kvack.org X-Gm-Message-State: AOJu0YwEjNq9gpkp/98N6EzxYmGFfBXVgVEbUJifOaRK0Kh2BkGwFXtC IoVrW/9ASP2vmU/AUqA+2SnBca2HmtYqzhq0MQSqIyLitEU/0UWF7lTkezMyhUHwTkfhap13tLU x4mCvB2qzh84TWeZwM8SoSZYN+YUUAz0Zr5qgPtip X-Gm-Gg: ASbGncs3xyWViPBmuLODSVLT41n2gq6NTnntdM956T1aolaxmPzKma9Z5dvr5xI/TxF tOZHvyGLXTl/n8sEuwyAzResqJ9D12yX84gJI693LzORueqzfYCgMCJM9R8iIaJ8ihOYeH8fo2m biKUW58bjEuYee7AtJWatjtzcQk/6a8kASN9gdIWsIYh0= X-Google-Smtp-Source: AGHT+IExAG9FOhA/JYGGXSBKDCzqV2Xo5C2y6Ta3UELn/eRIfFUiL+Rqeg9GPUYw/hiNAJoKYymR8PDaqjOB4BS/zFM= X-Received: by 2002:ac8:5c8f:0:b0:494:763e:d971 with SMTP id d75a77b69052e-4a5b0e31c8bmr4317101cf.23.1749145418575; Thu, 05 Jun 2025 10:43:38 -0700 (PDT) MIME-Version: 1.0 References: <20250605153800.557144-1-tabba@google.com> <20250605153800.557144-13-tabba@google.com> <4909d6dc-09f5-4960-b8be-5150b2a03e45@redhat.com> <8782284c-0ffc-489d-adfe-b25d5ccb77b3@redhat.com> In-Reply-To: <8782284c-0ffc-489d-adfe-b25d5ccb77b3@redhat.com> From: Fuad Tabba Date: Thu, 5 Jun 2025 18:43:02 +0100 X-Gm-Features: AX0GCFvljLgP25GVDAuLamDWQ4LY_vKhcAYVWztfS80gbr2QcR5zJxfpTOOCjHo Message-ID: Subject: Re: [PATCH v11 12/18] KVM: x86: Enable guest_memfd shared memory for SW-protected VMs To: David Hildenbrand Cc: kvm@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-mm@kvack.org, kvmarm@lists.linux.dev, pbonzini@redhat.com, chenhuacai@kernel.org, mpe@ellerman.id.au, anup@brainfault.org, paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, seanjc@google.com, viro@zeniv.linux.org.uk, brauner@kernel.org, willy@infradead.org, akpm@linux-foundation.org, xiaoyao.li@intel.com, yilun.xu@intel.com, chao.p.peng@linux.intel.com, jarkko@kernel.org, amoorthy@google.com, dmatlack@google.com, isaku.yamahata@intel.com, mic@digikod.net, vbabka@suse.cz, vannapurve@google.com, ackerleytng@google.com, mail@maciej.szmigiero.name, michael.roth@amd.com, wei.w.wang@intel.com, liam.merwick@oracle.com, isaku.yamahata@gmail.com, kirill.shutemov@linux.intel.com, suzuki.poulose@arm.com, steven.price@arm.com, quic_eberman@quicinc.com, quic_mnalajal@quicinc.com, quic_tsoni@quicinc.com, quic_svaddagi@quicinc.com, quic_cvanscha@quicinc.com, quic_pderrin@quicinc.com, quic_pheragu@quicinc.com, catalin.marinas@arm.com, james.morse@arm.com, yuzenghui@huawei.com, oliver.upton@linux.dev, maz@kernel.org, will@kernel.org, qperret@google.com, keirf@google.com, roypat@amazon.co.uk, shuah@kernel.org, hch@infradead.org, jgg@nvidia.com, rientjes@google.com, jhubbard@nvidia.com, fvdl@google.com, hughd@google.com, jthoughton@google.com, peterx@redhat.com, pankaj.gupta@amd.com, ira.weiny@intel.com Content-Type: text/plain; charset="UTF-8" X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: D5440100004 X-Stat-Signature: 93n9f38i7n65oqtz5z7kwidtzjt5b6zp X-Rspam-User: X-HE-Tag: 1749145419-647117 X-HE-Meta: U2FsdGVkX1/WpcW98ThTNH9zXJQ3LRn6J/j4II2h6kIJnn3Y6y20n9/rdQODVAqyrmK37RlMC/ieGAEj/hfo8C9PQRYS+ptoYJFAkT75YOIkwbL8Km+pG4iv93K46NJ2JNOcy8gg+vBJKuivwULvSa3vrR5g6/eBCBSoxcJSDhfwrzbN1uMyzZXHCTAuhd52C35gp/vtb1lh5uFRU/v38NmMdxNHzx/j7mMW/Vwd5SigSl7kFgrhpV1Cr8WW4mRsczsmqYtyUsp2roVJSFFFJtJmZdbJNipz/GxiXKsViAgG05U2QXpdSCrWF/9mIwdjrzgY0debEtSVLbnD7JHvExL0C+R5VzTB6OMGJenhQEka6iDIR0K5VIlMvst1B0Ju/TkaCwLgdlemZ9E75VQX9B3FVNpkFlNhcD7+4ITYZKC9zkZVUhctaVz3Erz1GAbFuIum/v23OTqBKp3iwlyLehdyMXQ6aie9SOhPf1BIHLivy3/QD1JJ4U3cPi9dQDXLS1C73X2Br2eDHhgiWCKh3ITm22bs+669HyCWfuNGWgNSr+fjtMTqJGLVeDnTAOIQXbXsLFledtskUzJvO5GMl1KUbpN4uK9kEw12E3ETlayQXKE30GOOuVhvi2gmzteMCRvPulm01e00HIeIM7Zf2hhx82SaSghemZwSydyiPeyZN9dUwTI7QkZleSpgD5vpM3MuFNoFXHp3Una6M6eyof2a8XfEQa6CqEL0ZZJ9I4l5tajrOiqPvv5wSGuOsf/Om/hulAgzBKSinEQOrWs/J6J6vBaeWfrbPQInKkHSRF+coRrotxzH8f1RYqaV5uim7srunxX3G6FafRRrQ9kTtjPIY84hiGQI4pjXLiiaFJtXd7dMDFTjBEAfoKANvUAKgIKGwGN+x+zp7ehKpb2+wdTnUVagYtZxVVtuBUUnqAT6nFSfsrwtls6fy9ngLX2USFf2OOrtu7TeJSUtmg6 M0ofVXiU O6O7zpkk5JqUdK2iXkLkdN4xrjCKKwVS8PfjI1/vKL9TUSow/QgJFcKEV0A== 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 Thu, 5 Jun 2025 at 18:35, David Hildenbrand wrote: > > On 05.06.25 18:11, Fuad Tabba wrote: > > On Thu, 5 Jun 2025 at 16:49, David Hildenbrand wrote: > >> > >> On 05.06.25 17:37, Fuad Tabba wrote: > >>> Define the architecture-specific macro to enable shared memory support > >>> in guest_memfd for relevant software-only VM types, specifically > >>> KVM_X86_DEFAULT_VM and KVM_X86_SW_PROTECTED_VM. > >>> > >>> Enable the KVM_GMEM_SHARED_MEM Kconfig option if KVM_SW_PROTECTED_VM is > >>> enabled. > >>> > >>> Co-developed-by: Ackerley Tng > >>> Signed-off-by: Ackerley Tng > >>> Signed-off-by: Fuad Tabba > >>> --- > >>> arch/x86/include/asm/kvm_host.h | 10 ++++++++++ > >>> arch/x86/kvm/Kconfig | 1 + > >>> arch/x86/kvm/x86.c | 3 ++- > >>> 3 files changed, 13 insertions(+), 1 deletion(-) > >>> > >>> diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h > >>> index 709cc2a7ba66..ce9ad4cd93c5 100644 > >>> --- a/arch/x86/include/asm/kvm_host.h > >>> +++ b/arch/x86/include/asm/kvm_host.h > >>> @@ -2255,8 +2255,18 @@ void kvm_configure_mmu(bool enable_tdp, int tdp_forced_root_level, > >>> > >>> #ifdef CONFIG_KVM_GMEM > >>> #define kvm_arch_supports_gmem(kvm) ((kvm)->arch.supports_gmem) > >>> + > >>> +/* > >>> + * CoCo VMs with hardware support that use guest_memfd only for backing private > >>> + * memory, e.g., TDX, cannot use guest_memfd with userspace mapping enabled. > >>> + */ > >>> +#define kvm_arch_supports_gmem_shared_mem(kvm) \ > >>> + (IS_ENABLED(CONFIG_KVM_GMEM_SHARED_MEM) && \ > >>> + ((kvm)->arch.vm_type == KVM_X86_SW_PROTECTED_VM || \ > >>> + (kvm)->arch.vm_type == KVM_X86_DEFAULT_VM)) > >>> #else > >>> #define kvm_arch_supports_gmem(kvm) false > >>> +#define kvm_arch_supports_gmem_shared_mem(kvm) false > >>> #endif > >>> > >>> #define kvm_arch_has_readonly_mem(kvm) (!(kvm)->arch.has_protected_state) > >>> diff --git a/arch/x86/kvm/Kconfig b/arch/x86/kvm/Kconfig > >>> index b37258253543..fdf24b50af9d 100644 > >>> --- a/arch/x86/kvm/Kconfig > >>> +++ b/arch/x86/kvm/Kconfig > >>> @@ -47,6 +47,7 @@ config KVM_X86 > >>> select KVM_GENERIC_HARDWARE_ENABLING > >>> select KVM_GENERIC_PRE_FAULT_MEMORY > >>> select KVM_GENERIC_GMEM_POPULATE if KVM_SW_PROTECTED_VM > >>> + select KVM_GMEM_SHARED_MEM if KVM_SW_PROTECTED_VM > >>> select KVM_WERROR if WERROR > >> > >> Is $subject and this still true, given that it's now also supported for > >> KVM_X86_DEFAULT_VM? > > > > True, just not the whole truth :) > > > > I guess a better one would be, for Software VMs (remove protected)? > > Now I am curious, what is a Hardware VM? :) The opposite of a software one! ;) i.e., hardware-supported CoCo, e.g., TDX, CCA... Cheers, /fuad > -- > Cheers, > > David / dhildenb >