[PATCH v2 0/2] Test MADV_COLLAPSE on guest_memfd

Ackerley Tng posted 2 patches 1 month, 3 weeks ago
.../testing/selftests/kvm/guest_memfd_test.c  | 70 ++++++++++++++++++-
.../selftests/kvm/include/kvm_syscalls.h      |  1 +
2 files changed, 68 insertions(+), 3 deletions(-)
[PATCH v2 0/2] Test MADV_COLLAPSE on guest_memfd
Posted by Ackerley Tng 1 month, 3 weeks ago
syzkaller identified that khugepaged, operating on guest_memfd memory,
could cause guest_memfd folios to get collapsed, leading to a WARNing
during fault [1].

Add selftest to guard against similar regressions.

Changes in v2:

+ Found get_trans_hugepagesz(), which I should have used instead of
  adding getpmdsize()
+ Extended tools/testing/selftests/kvm/include/kvm_syscalls.h to add
  kvm_madvise()
+ Removed the magic constant address and explained alignment requirements in
  comments
+ Refactored gmem_test() macro to expose __gmem_test(), which allows custom
  sized guest_memfds for tests. Sean, I didn't add the gmem_test_huge_pmd()
  since I'm guessing a test requiring a pmd_sized guest_memfd would probably be
  once-off.

PATCH v1 [3] was sent in reply to the fix [2].

[1] https://syzkaller.appspot.com/bug?extid=33a04338019ac7e43a44
[2] https://lore.kernel.org/all/20260214001535.435626-1-kartikey406@gmail.com/
[3] https://lore.kernel.org/all/20260217014402.2554832-1-ackerleytng@google.com/

Ackerley Tng (2):
  KVM: selftests: Wrap madvise() to assert success
  KVM: selftests: Test MADV_COLLAPSE on guest_memfd

 .../testing/selftests/kvm/guest_memfd_test.c  | 70 ++++++++++++++++++-
 .../selftests/kvm/include/kvm_syscalls.h      |  1 +
 2 files changed, 68 insertions(+), 3 deletions(-)


base-commit: a95f71ad3e2e224277508e006580c333d0a5fe36
prerequisite-patch-id: e001eecc9215dc0ed28546936f86a5a09e57141e
--
2.53.0.345.g96ddfc5eaa-goog
Re: [PATCH v2 0/2] Test MADV_COLLAPSE on guest_memfd
Posted by Sean Christopherson 1 month, 1 week ago
On Fri, 20 Feb 2026 23:54:34 +0000, Ackerley Tng wrote:
> syzkaller identified that khugepaged, operating on guest_memfd memory,
> could cause guest_memfd folios to get collapsed, leading to a WARNing
> during fault [1].
> 
> Add selftest to guard against similar regressions.
> 
> Changes in v2:
> 
> [...]

Applied to kvm-x86 selftests, thanks!

[1/2] KVM: selftests: Wrap madvise() to assert success
      https://github.com/kvm-x86/linux/commit/58f5d8eebd5c
[2/2] KVM: selftests: Test MADV_COLLAPSE on guest_memfd
      https://github.com/kvm-x86/linux/commit/9830209b4ae8

--
https://github.com/kvm-x86/linux/tree/next