linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/2] Test MADV_COLLAPSE on guest_memfd
@ 2026-02-20 23:54 Ackerley Tng
  2026-02-20 23:54 ` [PATCH v2 1/2] KVM: selftests: Wrap madvise() to assert success Ackerley Tng
  2026-02-20 23:54 ` [PATCH v2 2/2] KVM: selftests: Test MADV_COLLAPSE on guest_memfd Ackerley Tng
  0 siblings, 2 replies; 3+ messages in thread
From: Ackerley Tng @ 2026-02-20 23:54 UTC (permalink / raw)
  To: kartikey406, seanjc, pbonzini, shuah, kvm, linux-kselftest
  Cc: vannapurve, Liam.Howlett, ackerleytng, akpm, baohua, baolin.wang,
	david, dev.jain, i, lance.yang, linux-kernel, linux-mm,
	lorenzo.stoakes, npache, ryan.roberts, shy828301, stable,
	syzbot+33a04338019ac7e43a44, ziy

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


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-02-20 23:54 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-02-20 23:54 [PATCH v2 0/2] Test MADV_COLLAPSE on guest_memfd Ackerley Tng
2026-02-20 23:54 ` [PATCH v2 1/2] KVM: selftests: Wrap madvise() to assert success Ackerley Tng
2026-02-20 23:54 ` [PATCH v2 2/2] KVM: selftests: Test MADV_COLLAPSE on guest_memfd Ackerley Tng

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox