]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
selftests/bpf: Fix bpf_mod_race test failure with arm64 64KB page size
authorYonghong Song <yonghong.song@linux.dev>
Sat, 7 Jun 2025 01:36:15 +0000 (18:36 -0700)
committerAlexei Starovoitov <ast@kernel.org>
Sat, 7 Jun 2025 02:21:43 +0000 (19:21 -0700)
Currently, uffd_register.range.len is set to 4096 for command
'ioctl(uffd, UFFDIO_REGISTER, &uffd_register)'. For arm64 64KB page size,
the len must be 64KB size aligned as page size alignment is required.
See fs/userfaultfd.c:validate_unaligned_range().

Signed-off-by: Yonghong Song <yonghong.song@linux.dev>
Link: https://lore.kernel.org/r/20250607013615.1551783-1-yonghong.song@linux.dev
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
tools/testing/selftests/bpf/prog_tests/bpf_mod_race.c

index fe2c502e5089ae58870c693cae0299e1cb54d613..ecc3d47919ad62ae2160f9e1302cf4c016f18537 100644 (file)
@@ -78,7 +78,7 @@ static int test_setup_uffd(void *fault_addr)
        }
 
        uffd_register.range.start = (unsigned long)fault_addr;
-       uffd_register.range.len = 4096;
+       uffd_register.range.len = getpagesize();
        uffd_register.mode = UFFDIO_REGISTER_MODE_MISSING;
        if (ioctl(uffd, UFFDIO_REGISTER, &uffd_register)) {
                close(uffd);