linux/tools/testing/selftests/mm
Nysal Jan K.A. 5156f7c484 selftests/mm: fix a build failure on powerpc
commit 8cf6ecb18b upstream.

The compiler is unaware of the size of code generated by the ".rept"
assembler directive.  This results in the compiler emitting branch
instructions where the offset to branch to exceeds the maximum allowed
value, resulting in build failures like the following:

  CC       protection_keys
  /tmp/ccypKWAE.s: Assembler messages:
  /tmp/ccypKWAE.s:2073: Error: operand out of range (0x0000000000020158
  is not between 0xffffffffffff8000 and 0x0000000000007ffc)
  /tmp/ccypKWAE.s:2509: Error: operand out of range (0x0000000000020130
  is not between 0xffffffffffff8000 and 0x0000000000007ffc)

Fix the issue by manually adding nop instructions using the preprocessor.

Link: https://lkml.kernel.org/r/20250428131937.641989-2-nysal@linux.ibm.com
Fixes: 46036188ea ("selftests/mm: build with -O2")
Reported-by: Madhavan Srinivasan <maddy@linux.ibm.com>
Signed-off-by: Nysal Jan K.A. <nysal@linux.ibm.com>
Tested-by: Venkat Rao Bagalkote <venkat88@linux.ibm.com>
Reviewed-by: Donet Tom <donettom@linux.ibm.com>
Tested-by: Donet Tom <donettom@linux.ibm.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2025-05-18 08:24:52 +02:00
..
.gitignore Random number generator updates for Linux 6.11-rc1. 2024-07-24 10:29:50 -07:00
charge_reserved_hugetlb.sh selftests/mm: generate a temporary mountpoint for cgroup filesystem 2025-04-25 10:47:54 +02: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: support platform with huge mount of memory 2025-05-18 08:24:52 +02:00
config selftests: mm: add pagemap ioctl tests 2023-10-18 14:34:13 -07:00
cow.c selftests/mm/cow: fix the incorrect error handling 2025-04-10 14:39:25 +02:00
droppable.c mm: add MAP_DROPPABLE for designating always lazily freeable mappings 2024-07-19 20:22:12 +02:00
gup_longterm.c The usual shower of singleton fixes and minor series all over MM, 2024-05-19 09:21:03 -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-13 13:01:54 +01: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-14 20:03:27 +01:00
hugetlb_fault_after_madv.c selftests/mm: add a new test for madv and hugetlb 2023-10-18 14:34:16 -07: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: generate a temporary mountpoint for cgroup filesystem 2025-04-25 10:47:54 +02: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-13 13:01:54 +01:00
ksm_tests.c selftests/mm: ksm_tests should only MADV_HUGEPAGE valid memory 2024-01-25 23:52:21 -08:00
madv_populate.c selftests/mm: ksft_exit functions do not return 2024-05-06 13:57:20 -06:00
Makefile selftests/mm: build with -O2 2025-02-27 04:30:24 -08: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: map_populate: conform test to TAP format output 2024-02-22 10:24:48 -08: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-13 13:01:54 +01:00
migration.c selftests/mm: relax test to fail after 100 migration failures 2024-09-09 16:39:05 -07:00
mkdirty.c Revert "selftests/mm: remove local __NR_* definitions" 2025-03-13 13:01:54 +01:00
mlock-random-test.c selftests/mm: mlock-random-test: conform test to TAP format output 2024-02-22 10:24:48 -08:00
mlock2-tests.c selftests/mm: parse VMA range in one go 2024-04-25 20:56:07 -07:00
mlock2.h Revert "selftests/mm: remove local __NR_* definitions" 2025-03-13 13:01:54 +01: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 minmax: make generic MIN() and MAX() macros available everywhere 2024-07-28 15:49:18 -07: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 ALong with the usual shower of singleton patches, notable patch series in 2024-09-21 07:29:05 -07: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 kselftests: mm: fix wrong __NR_userfaultfd value 2024-09-26 14:01:44 -07:00
pkey-arm64.h selftests: mm: make protection_keys test work on arm64 2024-09-04 12:54:06 +01:00
pkey-helpers.h Updates for x86 memory management: 2024-09-17 15:03:01 +02:00
pkey-powerpc.h selftests/mm: fix a build failure on powerpc 2025-05-18 08:24:52 +02:00
pkey-x86.h selftests: mm: make protection_keys test work on arm64 2024-09-04 12:54:06 +01:00
pkey_sighandler_tests.c selftests/mm: Add new testcases for pkeys 2024-08-02 14:12:21 +02:00
protection_keys.c Revert "selftests/mm: remove local __NR_* definitions" 2025-03-13 13:01:54 +01:00
run_vmtests.sh selftests/mm: run_vmtests.sh: fix half_ufd_size_MB calculation 2025-03-28 22:03:30 +01:00
seal_elf.c selftests: mm: fix build errors on armhf 2024-09-01 17:58:59 -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: ksft_exit functions do not return 2024-05-06 13:57:20 -06:00
split_huge_page_test.c mm: selftest to verify zero-filled pages are mapped to zeropage 2024-09-09 16:39:03 -07:00
test_hmm.sh selftests/mm: give scripts execute permission 2023-07-14 09:24:31 -07:00
test_vmalloc.sh selftests/mm: give scripts execute permission 2023-07-14 09:24:31 -07:00
thp_settings.c selftests: mm: support shmem mTHP collapse testing 2024-09-03 21:15:39 -07:00
thp_settings.h selftests: mm: support shmem mTHP collapse testing 2024-09-03 21:15:39 -07:00
thuge-gen.c selftests: centralize -D_GNU_SOURCE= to CFLAGS in lib.mk 2024-07-10 12:14:51 -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 Revert "selftests/mm: remove local __NR_* definitions" 2025-03-13 13:01:54 +01:00
uffd-common.h Revert "selftests/mm: replace atomic_bool with pthread_barrier_t" 2024-10-28 21:40:41 -07:00
uffd-stress.c Revert "selftests/mm: remove local __NR_* definitions" 2025-03-13 13:01:54 +01:00
uffd-unit-tests.c Revert "selftests/mm: remove local __NR_* definitions" 2025-03-13 13:01:54 +01: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: confirm VA exhaustion without reliance on correctness of mmap() 2024-04-25 20:56:01 -07:00
vm_util.c mm: selftest to verify zero-filled pages are mapped to zeropage 2024-09-09 16:39:03 -07:00
vm_util.h mm: selftest to verify zero-filled pages are mapped to zeropage 2024-09-09 16:39:03 -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 charge_reserved_hugetlb.sh test 2024-09-03 21:15:46 -07:00