linux/tools/testing/selftests/mm
Zenghui Yu fd5295afae selftests/mm: hmm-tests: include linux/mman.h to access MADV_COLLAPSE
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.

Link: https://lore.kernel.org/20260628143111.36863-1-zenghui.yu@linux.dev
Fixes: e3d8707358 ("selftests/mm/hmm-tests: test pagemap reads of PMD device-private entries")
Signed-off-by: Zenghui Yu <zenghui.yu@linux.dev>
Reviewed-by: Lorenzo Stoakes <ljs@kernel.org>
Reviewed-by: Dev Jain <dev.jain@arm.com>
Cc: David Hildenbrand <david@kernel.org>
Cc: Jason Gunthorpe <jgg@ziepe.ca>
Cc: Leon Romanovsky <leon@kernel.org>
Cc: Liam R. Howlett <liam@infradead.org>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Mike Rapoport <rppt@kernel.org>
Cc: Shuah Khan <shuah@kernel.org>
Cc: Suren Baghdasaryan <surenb@google.com>
Cc: Vlastimil Babka <vbabka@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2026-07-01 19:02:54 -07:00
..
page_frag mm/page_frag: reject invalid CPUs in page_frag_test 2026-06-21 11:37:37 -07:00
.gitignore selftests/mm: rename hugepage-* tests to hugetlb-* 2026-06-21 11:37:19 -07:00
charge_reserved_hugetlb.sh selftests/mm: fix hugetlb pathname construction in charge_reserved_hugetlb.sh 2026-06-21 11:37:32 -07:00
check_config.sh selftests/mm: suppress compiler error in liburing check 2026-05-28 21:04:39 -07:00
compaction_test.c selftests/mm: clarify alternate unmapping in compaction_test 2026-06-21 11:37:35 -07:00
config selftests/mm: specify requirement for PROC_MEM_ALWAYS_FORCE=y 2026-04-27 05:54:26 -07:00
cow.c selftests/mm: cow: add setup of HugeTLB pages 2026-06-21 11:37:25 -07:00
droppable.c selftests: mm: fix and speedup "droppable" test 2026-06-21 11:37:36 -07:00
folio_split_race_test.c selftests/mm: rename thp_settings.[ch] to hugepage_settings.[ch] 2026-06-21 11:37:23 -07:00
guard-regions.c selftests/mm: rename thp_settings.[ch] to hugepage_settings.[ch] 2026-06-21 11:37:23 -07:00
gup_longterm.c selftests/mm: gup_longterm: add setup of HugeTLB pages 2026-06-21 11:37:25 -07:00
gup_test.c selftests/mm: gup_test: add setup of HugeTLB pages 2026-06-21 11:37:26 -07:00
hmm-tests.c selftests/mm: hmm-tests: include linux/mman.h to access MADV_COLLAPSE 2026-07-01 19:02:54 -07:00
hugepage_settings.c selftests/mm: move read_file(), read_num() and write_num() to vm_util 2026-06-21 11:37:24 -07:00
hugepage_settings.h selftests/mm: move read_file(), read_num() and write_num() to vm_util 2026-06-21 11:37:24 -07:00
hugetlb_dio.c selftests/mm: hugepage_dio: add setup of HugeTLB pages 2026-06-21 11:37:26 -07:00
hugetlb_fault_after_madv.c selftests/mm: hugetlb_fault_after_madv: add setup of HugeTLB pages 2026-06-21 11:37:26 -07:00
hugetlb_madv_vs_map.c selftests/mm: hugetlb_madv_vs_map: add setup of HugeTLB pages 2026-06-21 11:37:27 -07:00
hugetlb_reparenting_test.sh selftests/mm: fix cgroup task placement and drop memory.current checks in hugetlb_reparenting_test.sh 2026-06-21 11:37:33 -07:00
hugetlb-madvise.c selftests/mm: hugetlb-madvise: add setup of HugeTLB pages 2026-06-21 11:37:27 -07:00
hugetlb-mmap.c selftests/mm: hugetlb-mmap: add setup of HugeTLB pages 2026-06-21 11:37:27 -07:00
hugetlb-mremap.c selftests/mm: ensure destination is hugetlb-backed in hugetlb-mremap 2026-06-21 11:37:34 -07:00
hugetlb-read-hwpoison.c selftests/mm: hugetlb-read-hwpoison: use kselftest framework 2026-06-21 11:37:20 -07:00
hugetlb-shm.c selftests/mm: hugetlb-shm: add setup of HugeTLB pages 2026-06-21 11:37:28 -07:00
hugetlb-soft-offline.c selftests/mm: hugetlb-soft-offline: add setup of HugeTLB pages 2026-06-21 11:37:28 -07:00
hugetlb-vmemmap.c selftests/mm: hugetlb-vmemmap: add setup of HugeTLB pages 2026-06-21 11:37:28 -07:00
khugepaged.c selftests/mm: rename thp_settings.[ch] to hugepage_settings.[ch] 2026-06-21 11:37:23 -07:00
ksft_compaction.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_cow.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_gup_test.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_hmm.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_hugetlb.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_hugevm.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_kmemleak_dedup.sh selftests/mm: add kmemleak verbose dedup test 2026-05-28 21:05:09 -07:00
ksft_ksm_numa.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_ksm.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_madv_guard.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_madv_populate.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_mdwe.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_memfd_secret.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_memory_failure.sh selftests/mm: add memory failure anonymous page test 2026-02-12 15:43:01 -08:00
ksft_migration.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_mkdirty.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_mlock.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_mmap.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_mremap.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_page_frag.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_pagemap.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_pfnmap.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_pkey.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_process_madv.sh selftests/mm: fix ksft_process_madv.sh test category 2026-07-01 19:02:52 -07:00
ksft_process_mrelease.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_rmap.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_soft_dirty.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_thp.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_userfaultfd.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_vma_merge.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksft_vmalloc.sh selftests/mm: have the harness run each test category separately 2026-01-31 14:22:53 -08:00
ksm_functional_tests.c selftests/mm: ksm-functional-tests: fix partial write handling 2026-06-02 15:22:15 -07:00
ksm_tests.c selftests/mm: fix incorrect mmap() error handling with NULL instead of MAP_FAILED 2026-06-21 11:37:31 -07:00
madv_populate.c selftests/mm: fix incorrect mmap() error handling with NULL instead of MAP_FAILED 2026-06-21 11:37:31 -07:00
Makefile selftests/mm: rename thp_settings.[ch] to hugepage_settings.[ch] 2026-06-21 11:37:23 -07:00
map_fixed_noreplace.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
map_populate.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
mdwe_test.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
memfd_secret.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
memory-failure.c selftests/mm: remove duplicate include of unistd.h 2026-04-05 13:53:01 -07:00
merge.c tools/testing/selftests: add merge test for partial msealed range 2026-04-18 00:10:52 -07:00
migration.c selftests/mm: migration: add setup of HugeTLB pages 2026-06-21 11:37:28 -07:00
mkdirty.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
mlock-random-test.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
mlock2-tests.c selftests/mm: verify droppable mappings cannot be locked 2026-05-28 21:04:48 -07:00
mlock2.h selftests/mm/mlock: print error on failure 2025-03-16 22:06:40 -07:00
mrelease_test.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
mremap_dontunmap.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
mremap_test.c selftests/mm: simplify byte pattern checking in mremap_test 2026-05-28 21:04:53 -07:00
mseal_helpers.h
mseal_test.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
on-fault-limit.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
pagemap_ioctl.c selftests/mm: pagemap_ioctl: use the correct page size for transact_test() 2026-07-01 19:02:54 -07:00
pfnmap.c selftests/mm: report SKIP in pfnmap if a check fails 2026-01-31 14:22:42 -08:00
pkey_sighandler_tests.c selftests/mm: add -Wunreachable-code and fix warnings 2025-09-21 14:22:34 -07:00
pkey_util.c selftests/mm: fix build break when compiling pkey_util.c 2025-05-07 23:39:41 -07:00
pkey-arm64.h selftests/mm: Fix resv_sz when parsing arm64 signal frame 2026-05-19 11:54:03 +01:00
pkey-helpers.h selftests/mm: protection_keys: use kselftest framework 2026-06-21 11:37:21 -07:00
pkey-powerpc.h selftests/mm: fix a build failure on powerpc 2025-05-07 23:39:41 -07:00
pkey-x86.h selftests/mm: ensure pkey-*.h define inline functions only 2025-01-13 22:40:55 -08:00
prctl_thp_disable.c selftests/mm: rename thp_settings.[ch] to hugepage_settings.[ch] 2026-06-21 11:37:23 -07:00
process_madv.c mm/madvise: reject invalid process_madvise() advice for zero-length vectors 2026-05-28 21:04:57 -07:00
protection_keys.c selftests/mm: protection_keys: use library code for HugeTLB setup 2026-06-21 11:37:29 -07:00
rmap.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
run_vmtests.sh selftests/mm: move hwpoison setup into run_test() and silence modprobe output for memory-failure category 2026-06-21 11:37:34 -07:00
settings selftests/mm: increase timeout from 180 to 900 seconds 2025-06-19 20:48:01 -07:00
soft-dirty.c selftests/mm: fix incorrect mmap() error handling with NULL instead of MAP_FAILED 2026-06-21 11:37:31 -07:00
split_huge_page_test.c selftests/mm: free dynamically allocated PMD-sized buffers in split_huge_page_test 2026-06-21 11:37:33 -07:00
test_hmm.sh
test_page_frag.sh mm: page_frag: add a test module for page_frag 2024-11-11 10:56:26 -08:00
test_vmalloc.sh lib/test_vmalloc.c: minor fixes to test_vmalloc.c 2026-01-20 19:24:47 -08:00
thuge-gen.c selftests/mm: thuge-gen: add setup of HugeTLB pages 2026-06-21 11:37:29 -07:00
transhuge-stress.c selftests/mm: rename thp_settings.[ch] to hugepage_settings.[ch] 2026-06-21 11:37:23 -07:00
uffd-common.c selftests/mm/uffd: remove static address usage in shmem_allocate_area() 2025-11-20 13:44:00 -08:00
uffd-common.h selftests/mm: move HugeTLB helpers to hugepage_settings 2026-06-21 11:37:23 -07:00
uffd-stress.c selftests/mm: skip uffd-stress test when nr_pages_per_cpu is zero 2026-06-21 11:37:34 -07:00
uffd-unit-tests.c selftests/mm: uffd-unit-tests: add setup of HugeTLB pages 2026-06-21 11:37:30 -07:00
uffd-wp-mremap.c selftests/mm: skip uffd-wp-mremap if UFFD write-protect is unsupported 2026-06-21 11:37:34 -07:00
va_high_addr_switch.c selftests/mm: va_high_addr_switch: add setup of HugeTLB pages 2026-06-21 11:37:30 -07:00
va_high_addr_switch.sh selftests/mm: va_high_addr_switch.sh: drop huge pages setup 2026-06-21 11:37:30 -07:00
vm_util.c selftests/mm: fix incorrect mmap() error handling with NULL instead of MAP_FAILED 2026-06-21 11:37:31 -07:00
vm_util.h selftests/mm: vm_util: add helpers to set and restore shm limits 2026-06-21 11:37:25 -07:00
write_hugetlb_memory.sh
write_to_hugetlbfs.c selftests/mm/write_to_hugetlbfs: parse -s as size_t 2026-01-20 19:24:50 -08:00