[PATCH v2 0/4] KVM: guest_memfd: fix NUMA selftests

From: Shivank Garg

Date: Tue Sep 01 2026 - 04:29:46 EST


NUMA selftests in guest_memfd_test assumes that node 0 and 1 exist and
have memory. However, nodes can be sparse or memoryless which would
break this selftest.

xapic_ipi_test pass the nodemask size in bytes as maxnode to
migrate_pages() but the syscall expect the number of bits plus one,
so the kernel was only looking at node IDs 0-6.

Tested on a 7.3-rc1, AMD EPYC 7713.

Changes in V2:
- Split from unbind race fix. (Sean)
- Include <linux/bits.h> that defines BITS_PER_TYPE for self-containment. (Sashiko)
- Link to V1: https://lore.kernel.org/kvm/20260823-shivank-gmem-fix-split-v1-0-512a29fb8e86@xxxxxxx

Signed-off-by: Shivank Garg <shivankg@xxxxxxx>
---
Shivank Garg (4):
KVM: selftests: fix maxnode arguments in xapic_ipi_test
KVM: selftests: use BITS_PER_TYPE() for NUMA masks
KVM: selftests: add get_numa_mem_nodes()
KVM: selftests: use allowed NUMA nodes in guest_memfd_test

tools/testing/selftests/kvm/guest_memfd_test.c | 86 ++++++++++++++++--------
tools/testing/selftests/kvm/include/numaif.h | 53 ++-------------
tools/testing/selftests/kvm/x86/xapic_ipi_test.c | 14 ++--
3 files changed, 71 insertions(+), 82 deletions(-)
---
base-commit: cee9395acd8043be0644b25c34bfa86623f2b935
change-id: 20260901-gmem-selftests-fix-2a5e94192f79

Best regards,
--
Shivank Garg <shivankg@xxxxxxx>