Re: [PATCH v7 00/42] guest_memfd: In-place conversion support
From: Sean Christopherson <seanjc@google.com>
Date: 2026-06-04 20:20:30
Also in:
kvm, linux-coco, linux-doc, linux-kselftest, linux-mm, lkml
On Wed, Jun 03, 2026, Ackerley Tng wrote:
Ackerley Tng via B4 Relay [off-list ref] writes:quoted
This is v7 of guest_memfd in-place conversion support.Here's the outstanding items after going over everyone's comments including Sashiko's: + KVM: TDX: Make source page optional for KVM_TDX_INIT_MEM_REGION + Need to move page clearing into __kvm_gmem_get_pfn to resolve leak where populate can put initialized kernel memory into TDX guest + See suggested fix at [1]
That fix works for me. The initial guest image will typically be a tiny subset of guest memory, so unnecessarily zeroing a few pages isn't a performance concern.
+ KVM: guest_memfd: Only prepare folios for private pages,
+ s/non-CoCo/CoCo in commit message "INIT_SHARED is about to be
supported for non-CoCo VMs in a later patch in this series
+ Use Suggested-by: Michael Roth [off-list ref]
+ KVM: selftests: Test that shared/private status is consistent across
processes
+ Improve test reliability using pthread_mutex
+ I have a fixup patch offline.
I would like feedback on these:
+ KVM: selftests: Test conversion with elevated page refcount
+ Askar pointed out that soon vmsplice may not pin pages. Should I
pin pages through CONFIG_GUP_TEST like in [2]? I prefer not to
take a dependency on CONFIG_GUP_TEST.I'm not exactly excited about taking a dependency on CONFIG_GUP_TEST either, but it probably is the least awful choice. E.g. KVM also pins pages is certain flows, but we're _also_ actively working to remove the need to pin. Hmm, maybe IORING_REGISTER_PBUF_RING? AFAICT, it's almost literally a "pin user memory" syscall.
+ KVM: selftests: Add script to exercise private_mem_conversions_test
+ Would like to know what people think of a wrapper script before
I address Sashiko's comments.NAK to a wrapper script. This sounds like a perfect fit for Vipin's selftest runner (which I'm like 4 months overdue for reviewing, testing, and merging). If the runner _can't_ do what you want, then I'd rather improve the runner. [*] https://lore.kernel.org/all/20260331194202.1722082-1-vipinsh@google.com (local)
[1] https://lore.kernel.org/all/CAEvNRgEVC=fFuKVgZYvWyZD7t_zvUZihFG8hrACjvtkD5cwugw@mail.gmail.com/ (local) [2] https://lore.kernel.org/all/baa8838f623102931e755cf34c86314b305af49c.1747264138.git.ackerleytng@google.com/ (local)quoted
[...snip...]