On Sun, 28 Jun 2026 18:11:18 +0800 Zenghui Yu <[email protected]> wrote:
> There are several places in transact_test() where we use the hardcoded > 0x1000 (4k) as page size, which is not always correct for architectures > supporting multiple page sizes. doh. > Switch to use the correct page size. Otherwise ./ksft_pagemap.sh on a > 16k-page-size arm64 box fails with > > $ ./ksft_pagemap.sh > [...] > # ok 96 mprotect_tests Both pages written after remap and mprotect > # ok 97 mprotect_tests Clear and make the pages written > # Bail out! ioctl failed > # # Planned tests != run tests (117 != 97) > # # Totals: pass:97 fail:0 xfail:0 xpass:0 skip:0 error:0 > # [FAIL] > not ok 1 pagemap_ioctl # exit=1 > # SUMMARY: PASS=0 SKIP=0 FAIL=1 > 1..1 Thanks. I'll add a cc:stable to this. > tools/testing/selftests/mm/pagemap_ioctl.c | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) I'd like to see this code initialize page_size and hpage_size before calling init_uffd(), hugetlb_setup_default(), etc. That won't fix anything but it's safer and saner to get these globals set up before doing other things.

