On Sun, Sep 27, 2026 at 04:24:18PM +0000, Carlos Llamas wrote:
> Commit ae571cd6015c ("selftests/mm: hugetlb-mmap: add setup of HugeTLB
> pages") and commit 9c5a65f374f8 ("selftests/mm: merge map_hugetlb into
> hugepage-mmap") added logs of 'hugepage_size' which has a size_t type.
> However, the incorrect format specifier '%lu' was used which triggers
> -Wformat warnings when building for 32-bit:
>
>   hugetlb-mmap.c:125:55: warning: format specifies type 'unsigned long'
>   but the argument has type 'size_t' (aka 'unsigned int') [-Wformat]
>     125 | ksft_print_msg("Default size hugepages (%lu kB)\n", hugepage_size 
> >> 10);
>         |                                         ~~~         
> ^~~~~~~~~~~~~~~~~~~
>         |                                         %zu
>
>   hugetlb-mmap.c:134:47: warning: format specifies type 'unsigned long'
>   but the argument has type 'size_t' (aka 'unsigned int') [-Wformat]
>     134 | ksft_exit_skip("Not enough %lu Kb pages\n", hugepage_size >> 10);
>         |                            ~~~              ^~~~~~~~~~~~~~~~~~~
>         |                            %zu
>
> Fix this by switching to the expected '%zu' format specifier.
>
> Cc: Mike Rapoport <[email protected]>
> Signed-off-by: Carlos Llamas <[email protected]>

Acked-by: Lorenzo Stoakes (ARM) <[email protected]>

> ---
>
> Note that I intentionally skipped the 'Fixes:' tag as I've been
> previously suggested _not_ to use it for kselftest patches. However, I
> can certainly add one if someone prefers it that way. Thanks!
>
>  tools/testing/selftests/mm/hugetlb-mmap.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/tools/testing/selftests/mm/hugetlb-mmap.c 
> b/tools/testing/selftests/mm/hugetlb-mmap.c
> index 0f2aad1b7dbd..2edbc992e6bc 100644
> --- a/tools/testing/selftests/mm/hugetlb-mmap.c
> +++ b/tools/testing/selftests/mm/hugetlb-mmap.c
> @@ -122,7 +122,7 @@ int main(int argc, char **argv)
>               hugepage_size = default_huge_page_size();
>               if (!hugepage_size)
>                       ksft_exit_skip("Could not detect default hugetlb page 
> size.");
> -             ksft_print_msg("Default size hugepages (%lu kB)\n", 
> hugepage_size >> 10);
> +             ksft_print_msg("Default size hugepages (%zu kB)\n", 
> hugepage_size >> 10);
>       }
>
>       /* munmap will fail if the length is not page aligned */
> @@ -131,7 +131,7 @@ int main(int argc, char **argv)
>
>       hugetlb_set_nr_pages(hugepage_size, nr);
>       if (hugetlb_free_pages(hugepage_size) < nr)
> -             ksft_exit_skip("Not enough %lu Kb pages\n", hugepage_size >> 
> 10);
> +             ksft_exit_skip("Not enough %zu Kb pages\n", hugepage_size >> 
> 10);
>
>       ksft_set_plan(2);
>       ksft_print_msg("Mapping %lu Mbytes\n", (unsigned long)length >> 20);
> --
> 2.56.0.rc1.315.gc6ed9934b7-goog
>

--
Cheers, Lorenzo

Reply via email to