[PATCH v2] KVM: selftests: Undef musl's PAGE_SIZE on x86 to avoid type differences
From: Sean Christopherson
Date: Tue Nov 10 2026 - 16:07:15 EST
Before defining PAGE_SIZE in x86's processor.h, explicitly include the
system's limits.h and #undef PAGE_SIZE to workaround a conflict when using
musl where musl defines PAGE_SIZE as a signed 32-bit value, but KVM expects
it to be (and effectively requires it to be) an unsigned 64-bit value.
Reported-by: Aqib Faruqui <aqibaf@xxxxxxxxxx>
Link: https://lore.kernel.org/kvm/aL8e0MMa4U2-nstQ@xxxxxxxxxx
Cc: Hisam Mehboob <hisamshar@xxxxxxxxx>
Signed-off-by: Sean Christopherson <seanjc@xxxxxxxxxx>
---
v2:
- Limit the hackery to KVM x86 selftests.
- Ensure limits.h is included before PAGE_SIZE can get defined by processor.h
v1: https://lore.kernel.org/all/20260507234854.273536-2-hisamshar@xxxxxxxxx
tools/testing/selftests/kvm/include/x86/processor.h | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/tools/testing/selftests/kvm/include/x86/processor.h b/tools/testing/selftests/kvm/include/x86/processor.h
index 5898a277a2e0..65fda03ea893 100644
--- a/tools/testing/selftests/kvm/include/x86/processor.h
+++ b/tools/testing/selftests/kvm/include/x86/processor.h
@@ -6,6 +6,14 @@
#ifndef SELFTEST_KVM_PROCESSOR_H
#define SELFTEST_KVM_PROCESSOR_H
+/*
+ * Explicitly include the system's limit.h and undefine PAGE_SIZE to workaround
+ * an incompatibility where musl defines PAGE_SIZE as a signed integer, whereas
+ * KVM selftests expect it to be a 64-bit unsigned value.
+ */
+#include <limits.h>
+#undef PAGE_SIZE
+
#include <assert.h>
#include <stdint.h>
#include <syscall.h>
base-commit: cf7fa575900051e489f95944c65f432ea706ed73
--
2.56.0.542.g3ef89b7020-goog