This series is a group of fixes for the bind and populate flows for
guest_memfd, and fixes some issues reported by Sashiko after reviewing the
guest_memfd in-place conversions series [1] and another fixup series Sean
posted [3].
Changes in v2:
+ Add patch 4 and 5 to fix more issues, see below
+ Also update stub for kvm_gmem_bind()
Sashiko pointed out
+ Possible write to read-only page [1]
=> Fixed in patch 1
+ Signed integer overflow in kvm_gmem_bind() twice: [2][3]
=> Fixed in patch 2
+ Unchecked xa_store_range() [3]
=> Fixed in patch 3
+ Ordering issue with kmap_* and kunmap_* in sev_gmem_post_populate() [4]
=> Fixed in patch 4
+ Ordering issue with kmap_* and kunmap_* in sev_gmem_post_populate() [5]
=> Fixed in patch 5
[1] https://lore.kernel.org/all/CA+EHjTwrygfMrZZSw4y7-ry8fidW2x0C7iuF2Q=dnPNHUmNtUg@mail.gmail.com/
[2] https://lore.kernel.org/all/CA+EHjTxcadguOfOo7RpJVtAzcY5JAFZTbrAT_wcN6akMi8gCUg@mail.gmail.com/
[3] https://lore.kernel.org/all/20260522180530.EE9101F00A3E@smtp.kernel.org/
[4] https://sashiko.dev/#/patchset/20260507-gmem-inplace-conversion-v6-0-91ab5a8b19a4%40google.com?part=21
[5] https://sashiko.dev/#/patchset/20260522-fix-sev-gmem-post-populate-v1-0-9fc8d6437b65%40google.com?part=1
v1: https://lore.kernel.org/r/20260522-fix-sev-gmem-post-populate-v1-0-9fc8d6437b65@google.com
Signed-off-by: Ackerley Tng <ackerleytng@google.com>
---
Ackerley Tng (3):
KVM: guest_memfd: Handle errors from xa_store_range() when binding
KVM: SNP: Fix kunmap_local() unmapping order
KVM: SNP: Mark source page dirty in sev_gmem_post_populate
Sean Christopherson (2):
KVM: guest_memfd: Use write permissions when GUP-ing source pages
KVM: guest_memfd: Fix possible signed integer overflow
arch/x86/kvm/svm/sev.c | 6 ++++--
arch/x86/kvm/vmx/tdx.c | 2 +-
include/linux/kvm_host.h | 3 ++-
virt/kvm/guest_memfd.c | 24 ++++++++++++++++--------
virt/kvm/kvm_mm.h | 4 ++--
5 files changed, 25 insertions(+), 14 deletions(-)
---
base-commit: b7fbe9a1bf9ee6c967ef77d366ca58c35fcf1887
change-id: 20260522-fix-sev-gmem-post-populate-a36bef7f0698
Best regards,
--
Ackerley Tng <ackerleytng@google.com>