On Sun, Jun 28, 2026 at 10:31:11PM +0800, 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 <[email protected]>
LGTM, so:
Reviewed-by: Lorenzo Stoakes <[email protected]>
> ---
> 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>
> --
> 2.53.0
>
Cheers, Lorenzo