On 6/19/2026 8:31 AM, Ackerley Tng via B4 Relay wrote:
From: Ackerley Tng <[email protected]>
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?