Re: [PATCH v8 12/46] KVM: guest_memfd: Only prepare folios for private pages

From: Xiaoyao Li

Date: Wed Jul 01 2026 - 04:09:58 EST


On 6/19/2026 8:31 AM, Ackerley Tng via B4 Relay wrote:
From: Ackerley Tng <ackerleytng@xxxxxxxxxx>

All-shared guest_memfd used to be only supported for non-CoCo VMs where
preparation doesn't apply. INIT_SHARED is about to be supported for CoCo
VMs in a later patch in this series.

In addition, KVM_SET_MEMORY_ATTRIBUTES2 is about to be supported in
guest_memfd in a later patch in this series.

This means that the kvm fault handler may now call kvm_gmem_get_pfn() on a
shared folio for a CoCo VM where preparation applies.

I don't get it clear why preparation isn't needed or should not be performed for shared folio.

Before this patch, userspace VMM can create the gmem with FLAG_MMAP and FLAG_INIT_SHARED. And KVM always faultin the pfn from gmem. In this case, the gmem is always shared, and kvm_gmem_prepare_folio() is always called when faultin from gmem. So it's OK to call preparation for shared folio, right? Then what is the actual reason we cannot do it now?