Re: [PATCH v2 3/3] selftests/mm: init page sizes early in pagemap_ioctl test
From: Zenghui Yu
Date: Tue Sep 08 2026 - 10:00:15 EST
On 9/8/26 9:44 PM, Zenghui Yu wrote:
> From: "Zenghui Yu (Huawei)" <zenghui.yu@xxxxxxxxx>
>
> Initialize page_size and hpage_size before calling init_uffd(),
> hugetlb_setup_default(), etc. That won't fix anything, but it is safer and
> saner to get these globals set up before doing other things.
>
> While at it, drop the page_size parameter of transact_test(), which is
> actually unnecessary.
>
> Suggested-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
See https://lore.kernel.org/20260628111329.9cfcd9c67925869307020aba@xxxxxxxxxxxxxxxxxxxx/ .
> Signed-off-by: Zenghui Yu (Huawei) <zenghui.yu@xxxxxxxxx>
> ---
> tools/testing/selftests/mm/pagemap_ioctl.c | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/tools/testing/selftests/mm/pagemap_ioctl.c b/tools/testing/selftests/mm/pagemap_ioctl.c
> index 1a87b7483316..d9a4fb782ecf 100644
> --- a/tools/testing/selftests/mm/pagemap_ioctl.c
> +++ b/tools/testing/selftests/mm/pagemap_ioctl.c
> @@ -1489,7 +1489,7 @@ static void *thread_proc(void *mem)
> return NULL;
> }
>
> -static void transact_test(int page_size)
> +static void transact_test(void)
> {
> unsigned int i, count, extra_pages;
> unsigned int c;
> @@ -1653,6 +1653,9 @@ int main(int __attribute__((unused)) argc, char *argv[])
>
> ksft_print_header();
>
> + page_size = getpagesize();
> + hpage_size = read_pmd_pagesize();
> +
> if (init_uffd())
> ksft_exit_skip("Failed to initialize userfaultfd\n");
>
> @@ -1661,9 +1664,6 @@ int main(int __attribute__((unused)) argc, char *argv[])
>
> ksft_set_plan(119);
>
> - page_size = getpagesize();
> - hpage_size = read_pmd_pagesize();
> -
> pagemap_fd = open(PAGEMAP, O_RDONLY);
> if (pagemap_fd < 0)
> ksft_exit_fail_msg("Failed to open " PAGEMAP "\n");
> @@ -1823,7 +1823,7 @@ int main(int __attribute__((unused)) argc, char *argv[])
> mprotect_tests();
>
> /* 13. Transact test */
> - transact_test(page_size);
> + transact_test();
>
> /* 14. Sanity testing */
> sanity_tests();