* Re: [PATCH] selftests/mm: uffd-wp-mremap: keep the THP sizes in unsigned long
2026-11-03 15:02 [PATCH] selftests/mm: uffd-wp-mremap: keep the THP sizes in unsigned long Sasha Levin
@ 2026-11-03 16:25 ` David Hildenbrand (Arm)
2026-11-03 17:10 ` Lorenzo Stoakes (ARM)
2026-11-03 18:17 ` Mike Rapoport
2 siblings, 0 replies; 4+ messages in thread
From: David Hildenbrand (Arm) @ 2026-11-03 16:25 UTC (permalink / raw)
To: Sasha Levin, Andrew Morton
Cc: Mike Rapoport, Peter Xu, Lorenzo Stoakes, Liam R. Howlett,
Vlastimil Babka, Suren Baghdasaryan, Michal Hocko, Shuah Khan,
linux-mm, linux-kselftest, linux-kernel
On 11/3/26 16:02, Sasha Levin wrote:
> Commit 0020a1f5ca36 ("selftests/mm: hugepage_settings: use unsigned long
> in detect_hugetlb_page_size") changed the sizes of the test cases to
> unsigned long, but left thpsizes and detect_thp_sizes() with size_t. On
> 32-bit architectures size_t is unsigned int, and gcc 14 rejects the test
> cases that point at thpsizes:
>
> uffd-wp-mremap.c:299:26: error: initialization of 'long unsigned int *' from incompatible pointer type 'size_t *' {aka 'unsigned int *'} [-Wincompatible-pointer-types]
>
> Use unsigned long for the THP sizes as well.
>
> Fixes: 0020a1f5ca36 ("selftests/mm: hugepage_settings: use unsigned long in detect_hugetlb_page_size")
> Signed-off-by: Sasha Levin <sashal@kernel.org>
> ---
> KernelCI's 32-bit arm kselftest builds hit this. Built the mm selftests
> with gcc 14 and gcc 16 -m32 (four errors in this file before, none
> after) and natively with gcc and clang (no change). An i386 build with
> clang runs and detects the THP sizes as before, up to the point where
> the test needs root.
>
> tools/testing/selftests/mm/uffd-wp-mremap.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/tools/testing/selftests/mm/uffd-wp-mremap.c b/tools/testing/selftests/mm/uffd-wp-mremap.c
> index c48eaab8e75cf..fb5582ec5b201 100644
> --- a/tools/testing/selftests/mm/uffd-wp-mremap.c
> +++ b/tools/testing/selftests/mm/uffd-wp-mremap.c
> @@ -15,7 +15,7 @@ static int pagemap_fd;
> static int nr_pagesizes = 1;
> static unsigned long pagesize;
> static int nr_thpsizes;
> -static size_t thpsizes[20];
> +static unsigned long thpsizes[20];
> static int nr_hugetlbsizes;
> static unsigned long hugetlbsizes[10];
>
> @@ -30,7 +30,7 @@ static void check_uffd_wp_feature_supported(void)
> ksft_exit_skip("uffd-wp feature not supported\n");
> }
>
> -static int detect_thp_sizes(size_t sizes[], int max)
> +static int detect_thp_sizes(unsigned long sizes[], int max)
> {
> int count = 0;
> unsigned long orders;
Reviewed-by: David Hildenbrand (Arm) <david@kernel.org>
--
Cheers,
David
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH] selftests/mm: uffd-wp-mremap: keep the THP sizes in unsigned long
2026-11-03 15:02 [PATCH] selftests/mm: uffd-wp-mremap: keep the THP sizes in unsigned long Sasha Levin
2026-11-03 16:25 ` David Hildenbrand (Arm)
@ 2026-11-03 17:10 ` Lorenzo Stoakes (ARM)
2026-11-03 18:17 ` Mike Rapoport
2 siblings, 0 replies; 4+ messages in thread
From: Lorenzo Stoakes (ARM) @ 2026-11-03 17:10 UTC (permalink / raw)
To: Sasha Levin
Cc: Andrew Morton, Mike Rapoport, Peter Xu, David Hildenbrand,
Liam R. Howlett, Vlastimil Babka, Suren Baghdasaryan,
Michal Hocko, Shuah Khan, linux-mm, linux-kselftest,
linux-kernel
On Tue, Nov 03, 2026 at 10:02:32AM -0500, Sasha Levin wrote:
> Commit 0020a1f5ca36 ("selftests/mm: hugepage_settings: use unsigned long
> in detect_hugetlb_page_size") changed the sizes of the test cases to
> unsigned long, but left thpsizes and detect_thp_sizes() with size_t. On
> 32-bit architectures size_t is unsigned int, and gcc 14 rejects the test
> cases that point at thpsizes:
>
> uffd-wp-mremap.c:299:26: error: initialization of 'long unsigned int *' from incompatible pointer type 'size_t *' {aka 'unsigned int *'} [-Wincompatible-pointer-types]
>
> Use unsigned long for the THP sizes as well.
>
> Fixes: 0020a1f5ca36 ("selftests/mm: hugepage_settings: use unsigned long in detect_hugetlb_page_size")
> Signed-off-by: Sasha Levin <sashal@kernel.org>
LGTM so:
Reviewed-by: Lorenzo Stoakes (ARM) <ljs@kernel.org>
> ---
> KernelCI's 32-bit arm kselftest builds hit this. Built the mm selftests
> with gcc 14 and gcc 16 -m32 (four errors in this file before, none
> after) and natively with gcc and clang (no change). An i386 build with
> clang runs and detects the THP sizes as before, up to the point where
> the test needs root.
>
> tools/testing/selftests/mm/uffd-wp-mremap.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/tools/testing/selftests/mm/uffd-wp-mremap.c b/tools/testing/selftests/mm/uffd-wp-mremap.c
> index c48eaab8e75cf..fb5582ec5b201 100644
> --- a/tools/testing/selftests/mm/uffd-wp-mremap.c
> +++ b/tools/testing/selftests/mm/uffd-wp-mremap.c
> @@ -15,7 +15,7 @@ static int pagemap_fd;
> static int nr_pagesizes = 1;
> static unsigned long pagesize;
> static int nr_thpsizes;
> -static size_t thpsizes[20];
> +static unsigned long thpsizes[20];
> static int nr_hugetlbsizes;
> static unsigned long hugetlbsizes[10];
>
> @@ -30,7 +30,7 @@ static void check_uffd_wp_feature_supported(void)
> ksft_exit_skip("uffd-wp feature not supported\n");
> }
>
> -static int detect_thp_sizes(size_t sizes[], int max)
> +static int detect_thp_sizes(unsigned long sizes[], int max)
> {
> int count = 0;
> unsigned long orders;
> --
> 2.53.0
>
--
Cheers, Lorenzo
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH] selftests/mm: uffd-wp-mremap: keep the THP sizes in unsigned long
2026-11-03 15:02 [PATCH] selftests/mm: uffd-wp-mremap: keep the THP sizes in unsigned long Sasha Levin
2026-11-03 16:25 ` David Hildenbrand (Arm)
2026-11-03 17:10 ` Lorenzo Stoakes (ARM)
@ 2026-11-03 18:17 ` Mike Rapoport
2 siblings, 0 replies; 4+ messages in thread
From: Mike Rapoport @ 2026-11-03 18:17 UTC (permalink / raw)
To: Sasha Levin
Cc: Andrew Morton, Peter Xu, David Hildenbrand, Lorenzo Stoakes,
Liam R. Howlett, Vlastimil Babka, Suren Baghdasaryan,
Michal Hocko, Shuah Khan, linux-mm, linux-kselftest,
linux-kernel
On Tue, Nov 03, 2026 at 10:02:32AM -0500, Sasha Levin wrote:
> Commit 0020a1f5ca36 ("selftests/mm: hugepage_settings: use unsigned long
> in detect_hugetlb_page_size") changed the sizes of the test cases to
> unsigned long, but left thpsizes and detect_thp_sizes() with size_t. On
> 32-bit architectures size_t is unsigned int, and gcc 14 rejects the test
> cases that point at thpsizes:
>
> uffd-wp-mremap.c:299:26: error: initialization of 'long unsigned int *' from incompatible pointer type 'size_t *' {aka 'unsigned int *'} [-Wincompatible-pointer-types]
>
> Use unsigned long for the THP sizes as well.
>
> Fixes: 0020a1f5ca36 ("selftests/mm: hugepage_settings: use unsigned long in detect_hugetlb_page_size")
> Signed-off-by: Sasha Levin <sashal@kernel.org>
Reviewed-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
> ---
> KernelCI's 32-bit arm kselftest builds hit this. Built the mm selftests
> with gcc 14 and gcc 16 -m32 (four errors in this file before, none
> after) and natively with gcc and clang (no change). An i386 build with
> clang runs and detects the THP sizes as before, up to the point where
> the test needs root.
>
> tools/testing/selftests/mm/uffd-wp-mremap.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/tools/testing/selftests/mm/uffd-wp-mremap.c b/tools/testing/selftests/mm/uffd-wp-mremap.c
> index c48eaab8e75cf..fb5582ec5b201 100644
> --- a/tools/testing/selftests/mm/uffd-wp-mremap.c
> +++ b/tools/testing/selftests/mm/uffd-wp-mremap.c
> @@ -15,7 +15,7 @@ static int pagemap_fd;
> static int nr_pagesizes = 1;
> static unsigned long pagesize;
> static int nr_thpsizes;
> -static size_t thpsizes[20];
> +static unsigned long thpsizes[20];
> static int nr_hugetlbsizes;
> static unsigned long hugetlbsizes[10];
>
> @@ -30,7 +30,7 @@ static void check_uffd_wp_feature_supported(void)
> ksft_exit_skip("uffd-wp feature not supported\n");
> }
>
> -static int detect_thp_sizes(size_t sizes[], int max)
> +static int detect_thp_sizes(unsigned long sizes[], int max)
> {
> int count = 0;
> unsigned long orders;
> --
> 2.53.0
>
--
Sincerely yours,
Mike.
^ permalink raw reply [flat|nested] 4+ messages in thread