[PATCH] selftests/mm: fix khugepaged_race build with older glibc
From: Zenghui Yu
Date: Tue Oct 27 2026 - 08:43:16 EST
From: "Zenghui Yu (Huawei)" <zenghui.yu@xxxxxxxxx>
glibc versions before 2.37 do not define MADV_COLLAPSE in <sys/mman.h>, so
khugepaged_race fails to build against them (e.g. glibc 2.34):
[root@localhost mm]# make
CC khugepaged_race
khugepaged_race.c: In function 'main':
khugepaged_race.c:506:23: error: 'MADV_COLLAPSE' undeclared (first use in this function); did you mean 'MADV_COLD'?
506 | hpage_pmd_size, MADV_COLLAPSE);
| ^~~~~~~~~~~~~
| MADV_COLD
khugepaged_race.c:506:23: note: each undeclared identifier is reported only once for each function it appears in
make: *** [../lib.mk:225: /data/code/mm/tools/testing/selftests/mm/khugepaged_race] Error 1
Include <linux/mman.h> to get the UAPI definition of MADV_COLLAPSE.
Fixes: 66c374464438 ("selftests/mm: add khugepaged race harness")
Signed-off-by: Zenghui Yu (Huawei) <zenghui.yu@xxxxxxxxx>
---
tools/testing/selftests/mm/khugepaged_race.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/tools/testing/selftests/mm/khugepaged_race.c b/tools/testing/selftests/mm/khugepaged_race.c
index abb0678522cd..1a27cb39745b 100644
--- a/tools/testing/selftests/mm/khugepaged_race.c
+++ b/tools/testing/selftests/mm/khugepaged_race.c
@@ -8,6 +8,7 @@
#define _GNU_SOURCE
#include <errno.h>
#include <fcntl.h>
+#include <linux/mman.h>
#include <pthread.h>
#include <stdio.h>
#include <stdlib.h>
--
2.56.0