linux/tools/testing/selftests/mm
Lorenzo Stoakes f3b92176f4 tools/selftests: add guard region test for /proc/$pid/pagemap
Add a test to the guard region self tests to assert that the
/proc/$pid/pagemap information now made availabile to the user correctly
identifies and reports guard regions.

As a part of this change, update vm_util.h to add the new bit (note there
is no header file in the kernel where this is exposed, the user is
expected to provide their own mask) and utilise the helper functions there
for pagemap functionality.

[lorenzo.stoakes@oracle.com: fixup define name]
  Link: https://lkml.kernel.org/r/32e83941-e6f5-42ee-9292-a44c16463cf1@lucifer.local
Link: https://lkml.kernel.org/r/164feb0a43ae72650e6b20c3910213f469566311.1740139449.git.lorenzo.stoakes@oracle.com
Signed-off-by: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
Cc: David Hildenbrand <david@redhat.com>
Cc: Jann Horn <jannh@google.com>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Kalesh Singh <kaleshsingh@google.com>
Cc: Liam Howlett <liam.howlett@oracle.com>
Cc: Matthew Wilcow (Oracle) <willy@infradead.org>
Cc: "Paul E . McKenney" <paulmck@kernel.org>
Cc: Shuah Khan <shuah@kernel.org>
Cc: Suren Baghdasaryan <surenb@google.com>
Cc: Vlastimil Babka <vbabka@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
History 2025-03-16 22:06:41 -07:00
..
page_frag mm: page_frag: fix a compile error when kernel is not compiled 2024-11-19 12:20:40 +01:00
.gitignore selftests/mm: rename guard-pages to guard-regions 2025-03-16 22:06:15 -07:00
charge_reserved_hugetlb.sh selftests/mm: fix charge_reserved_hugetlb.sh test 2024-09-03 21:15:46 -07:00
check_config.sh selftests/mm: give scripts execute permission 2023-07-14 09:24:31 -07:00
compaction_test.c selftests/mm: compaction_test: fix off by one in check_compaction() 2024-08-15 22:16:15 -07:00
config selftests/mm: virtual_address_range: unmap chunks after validation 2025-01-25 20:22:44 -08:00
cow.c selftests/mm/cow: modify the incorrect checking parameters 2025-01-25 20:22:41 -08:00
droppable.c mm: add MAP_DROPPABLE for designating always lazily freeable mappings 2024-07-19 20:22:12 +02:00
guard-regions.c tools/selftests: add guard region test for /proc/$pid/pagemap 2025-03-16 22:06:41 -07:00
gup_longterm.c selftests/mm: skip gup_longterm tests on weird filesystems 2025-03-16 22:06:39 -07:00
gup_test.c selftests/mm: fix build warnings on ppc64 2024-05-24 11:55:06 -07:00
hmm-tests.c selftests/mm: fix incorrect buffer->mirror size in hmm2 double_map test 2024-10-09 12:47:19 -07:00
hugepage-mmap.c selftests/mm: remove unnecessary ia64 code and comment 2024-09-03 21:15:38 -07:00
hugepage-mremap.c Revert "selftests/mm: remove local __NR_* definitions" 2025-03-05 21:36:12 -08:00
hugepage-shm.c selftests/mm: remove unnecessary ia64 code and comment 2024-09-03 21:15:38 -07:00
hugepage-vmemmap.c selftests/mm: remove unnecessary ia64 code and comment 2024-09-03 21:15:38 -07:00
hugetlb-madvise.c selftests/mm: skip the hugetlb-madvise tests on unmet hugepage requirements 2024-03-12 13:07:18 -07:00
hugetlb-read-hwpoison.c selftests/mm: add tests for HWPOISON hugetlbfs read 2023-08-18 10:12:27 -07:00
hugetlb-soft-offline.c selftest/mm: test enable_soft_offline behaviors 2024-07-04 18:06:00 -07:00
hugetlb_dio.c selftest: hugetlb_dio: fix test naming 2024-12-05 19:54:44 -08:00
hugetlb_fault_after_madv.c selftests/mm: hugetlb_fault_after_madv: improve test output 2024-11-05 16:56:25 -08:00
hugetlb_madv_vs_map.c selftests/mm: hugetlb_madv_vs_map: avoid test skipping by querying hugepage size at runtime 2024-05-11 15:41:37 -07:00
hugetlb_reparenting_test.sh selftests/mm: save and restore nr_hugepages value 2024-02-22 15:38:55 -08:00
khugepaged.c selftests: mm: fix the incorrect usage() info of khugepaged 2024-10-17 00:28:11 -07:00
ksm_functional_tests.c Revert "selftests/mm: remove local __NR_* definitions" 2025-03-05 21:36:12 -08:00
ksm_tests.c selftests/mm: fix -Wmaybe-uninitialized warnings 2025-01-13 22:40:53 -08:00
madv_populate.c selftests/mm: ksft_exit functions do not return 2024-05-06 13:57:20 -06:00
Makefile selftests/mm: rename guard-pages to guard-regions 2025-03-16 22:06:15 -07:00
map_fixed_noreplace.c selftests: mm: make map_fixed_noreplace test names stable 2024-06-15 10:43:07 -07:00
map_hugetlb.c selftests/mm: remove unnecessary ia64 code and comment 2024-09-03 21:15:38 -07:00
map_populate.c selftests/mm: skip map_populate on weird filesystems 2025-03-16 22:06:39 -07:00
mdwe_test.c Revert "selftests/harness: remove use of LINE_MAX" 2024-05-19 14:36:20 -07:00
memfd_secret.c Revert "selftests/mm: remove local __NR_* definitions" 2025-03-05 21:36:12 -08:00
migration.c selftests/mm: add new test cases to the migration test 2025-01-25 20:22:21 -08:00
mkdirty.c Revert "selftests/mm: remove local __NR_* definitions" 2025-03-05 21:36:12 -08:00
mlock-random-test.c selftests/mm/mlock: print error on failure 2025-03-16 22:06:40 -07:00
mlock2-tests.c selftests/mm: parse VMA range in one go 2024-04-25 20:56:07 -07:00
mlock2.h selftests/mm/mlock: print error on failure 2025-03-16 22:06:40 -07:00
mrelease_test.c selftests/mm: mrelease_test: conform test to TAP format output 2024-02-22 10:24:49 -08:00
mremap_dontunmap.c selftests/mm: mremap_dontunmap: conform test to TAP format output 2024-02-22 10:24:49 -08:00
mremap_test.c selftests/mm: fix -Wmaybe-uninitialized warnings 2025-01-13 22:40:53 -08:00
mseal_helpers.h selftests/mm: mseal, self_elf: rename TEST_END_CHECK to REPORT_TEST_PASS 2024-07-03 19:30:07 -07:00
mseal_test.c selftests/mm: mseal_test: remove unused variables 2025-01-13 22:40:52 -08:00
on-fault-limit.c selftests/mm: run_vmtests: remove sudo and conform to tap 2024-02-22 15:38:55 -08:00
pagemap_ioctl.c selftests/mm: pagemap_ioctl: Fix types mismatches shown by compiler options 2025-01-13 22:40:52 -08:00
pkey-arm64.h selftests/mm: rename pkey register macro 2025-01-13 22:40:56 -08:00
pkey-helpers.h selftests/mm: use sys_pkey helpers consistently 2025-01-13 22:40:56 -08:00
pkey-powerpc.h selftests/mm: ensure pkey-*.h define inline functions only 2025-01-13 22:40:55 -08:00
pkey-x86.h selftests/mm: ensure pkey-*.h define inline functions only 2025-01-13 22:40:55 -08:00
pkey_sighandler_tests.c selftests/mm: remove X permission from sigaltstack mapping 2025-01-13 22:40:56 -08:00
pkey_util.c selftests/mm: use sys_pkey helpers consistently 2025-01-13 22:40:56 -08:00
protection_keys.c Revert "selftests/mm: remove local __NR_* definitions" 2025-03-05 21:36:12 -08:00
run_vmtests.sh selftests/mm: skip mlock tests if nobody user can't read it 2025-03-16 22:06:40 -07:00
settings selftests/mm: run all tests from run_vmtests.sh 2023-08-18 10:12:43 -07:00
soft-dirty.c selftests/mm: fix -Wmaybe-uninitialized warnings 2025-01-13 22:40:53 -08:00
split_huge_page_test.c selftests/mm: test splitting file-backed THP to any lower order 2025-03-16 22:05:56 -07:00
test_hmm.sh selftests/mm: give scripts execute permission 2023-07-14 09:24:31 -07:00
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 selftests/mm: give scripts execute permission 2023-07-14 09:24:31 -07:00
thp_settings.c selftests/mm: thp_settings: remove const from return type 2025-01-13 22:40:52 -08:00
thp_settings.h selftests/mm: thp_settings: remove const from return type 2025-01-13 22:40:52 -08:00
thuge-gen.c selftests/mm: fix thuge-gen test name uniqueness 2025-03-16 22:06:03 -07:00
transhuge-stress.c selftests/mm: transhuge-stress: conform to TAP format output 2024-02-22 10:24:49 -08:00
uffd-common.c selftests/mm/uffd: rename nr_cpus -> nr_parallel 2025-03-16 22:06:38 -07:00
uffd-common.h selftests/mm/uffd: rename nr_cpus -> nr_parallel 2025-03-16 22:06:38 -07:00
uffd-stress.c selftests/mm: don't fail uffd-stress if too many CPUs 2025-03-16 22:06:38 -07:00
uffd-unit-tests.c selftests/mm/uffd: rename nr_cpus -> nr_parallel 2025-03-16 22:06:38 -07:00
uffd-wp-mremap.c selftests/mm: skip uffd-wp-mremap if userfaultfd not available 2025-03-16 22:06:38 -07:00
va_high_addr_switch.c selftests/mm: skip test for non-LPA2 and non-LVA systems 2024-07-26 14:33:10 -07:00
va_high_addr_switch.sh selftests/mm: va_high_addr_switch: reduce test noise 2024-07-03 19:29:56 -07:00
virtual_address_range.c selftests/mm: virtual_address_range: avoid reading from VM_IO mappings 2025-01-25 20:22:44 -08:00
vm_util.c selftests/mm: virtual_address_range: avoid reading from VM_IO mappings 2025-01-25 20:22:44 -08:00
vm_util.h tools/selftests: add guard region test for /proc/$pid/pagemap 2025-03-16 22:06:41 -07:00
write_hugetlb_memory.sh selftests/mm: switch to bash from sh 2024-01-25 23:52:20 -08:00
write_to_hugetlbfs.c selftests/mm: fix strncpy() length 2025-01-13 22:40:54 -08:00