Re: [PATCH] selftests/mm: hmm-tests: include linux/mman.h to access MADV_COLLAPSE

From: Dev Jain

Date: Tue Jun 30 2026 - 05:00:26 EST




On 28/06/26 8:01 pm, Zenghui Yu wrote:
> The following compilation error occurs with an old version of glibc due to
> a recent commit adding MADV_COLLAPSE testing:
>
> [root@localhost mm]# getconf GNU_LIBC_VERSION
> glibc 2.34
> [root@localhost mm]# make
> CC hmm-tests
> hmm-tests.c: In function 'hmm_migrate_anon_huge_fault':
> hmm-tests.c:2355:27: error: 'MADV_COLLAPSE' undeclared (first use in this function); did you mean 'MADV_COLD'?
> 2355 | ret = madvise(map, size, MADV_COLLAPSE);
> | ^~~~~~~~~~~~~
> | MADV_COLD
> hmm-tests.c:2355:27: note: each undeclared identifier is reported only once for each function it appears in
> make: *** [../lib.mk:225: /root/code/linux/tools/testing/selftests/mm/hmm-tests] Error 1
>
> Include linux/mman.h (which provides the definition of MADV_COLLAPSE) to
> fix the build error.
>
> Fixes: e3d8707358ea ("selftests/mm/hmm-tests: test pagemap reads of PMD device-private entries")
> Signed-off-by: Zenghui Yu <zenghui.yu@xxxxxxxxx>
> ---

Reviewed-by: Dev Jain <dev.jain@xxxxxxx>

> tools/testing/selftests/mm/hmm-tests.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/tools/testing/selftests/mm/hmm-tests.c b/tools/testing/selftests/mm/hmm-tests.c
> index e4c49699f3f7..2f2b9879d100 100644
> --- a/tools/testing/selftests/mm/hmm-tests.c
> +++ b/tools/testing/selftests/mm/hmm-tests.c
> @@ -23,6 +23,7 @@
> #include <time.h>
> #include <pthread.h>
> #include <limits.h>
> +#include <linux/mman.h>
> #include <sys/types.h>
> #include <sys/stat.h>
> #include <sys/mman.h>