Thread (118 messages) flat view 118 messages, 10 authors, 9h ago

Re: [PATCH v10 20/41] KVM: Let userspace disable per-VM mem attributes, enable per-gmem attributes

From: "David Hildenbrand (Arm)" <david@kernel.org>
Date: 2026-08-17 09:15:41
Also in: kvm, linux-coco, linux-doc, linux-kselftest, linux-mm, lkml

On 8/13/26 23:23, Ackerley Tng wrote:
"David Hildenbrand (Arm)" [off-list ref] writes:
quoted
On 8/7/26 23:52, Ackerley Tng via B4 Relay wrote:
quoted
From: Ackerley Tng <redacted>


[...snip...]
diff --git a/arch/x86/kvm/Kconfig b/arch/x86/kvm/Kconfig
index abb108886733a..2c3c22aeafa54 100644
--- a/arch/x86/kvm/Kconfig
+++ b/arch/x86/kvm/Kconfig
@@ -81,13 +81,21 @@ config KVM_WERROR
 	  If in doubt, say "N".

 config KVM_VM_MEMORY_ATTRIBUTES
-	bool
+	bool "Enable per-VM PRIVATE vs. SHARED attributes (for CoCo VMs)"
+	depends on KVM_SW_PROTECTED_VM || KVM_INTEL_TDX || KVM_AMD_SEV
+	help
+	  Enable support for tracking PRIVATE vs. SHARED memory using per-VM
+	  memory attributes.  Using per-VM attributes is deprecated in favor of
+	  tracking PRIVATE state in guest_memfd.  Select this if you need to run
+	  CoCo VMs using a VMM that doesn't support guest_memfd memory
+	  attributes.
+
+	  If unsure, say N.
Hm, does that imply that a distribution that must support both, cannot ship a
single kernel?
Did you mean this as a documentation comment? Should the above read:
No, I was trying to understand the impact :)

IIUC, a distribution that would have to support both would simply enable
CONFIG_KVM_VM_MEMORY_ATTRIBUTES, and the module parameter would have to be used
to select the mode of operation.

I guess that's good enough!
	help
	  Enable support for tracking PRIVATE vs. SHARED memory using per-VM
	  memory attributes.  Using per-VM attributes is deprecated in favor of
	  tracking PRIVATE state in guest_memfd.  Select this if you need to run
	  CoCo VMs using a VMM that doesn't support guest_memfd memory
-	  attributes.
+	  attributes. Select this to defer selection of where PRIVATE vs. SHARED
+	  attributes are tracked to KVM module load time, where
+	  gmem_in_place_conversion can be specified as a module parameter.

	  If unsure, say N.

I think we should do _without_ the above clarification since using VM
memory attributes for shared/private status is intended to be
deprecated.

Is it fair to say distributions should not support both, and if they
_must_ support both, they need to read code to figure this out?
Yeah, I don't think we need a doc update.

-- 
Cheers,

David
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help