Message ID | 20240111082039.3398848-1-usama.anjum@collabora.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | selftests/mm: mremap_test: fix build warning | expand |
On Thu, 11 Jan 2024 13:20:38 +0500 Muhammad Usama Anjum <usama.anjum@collabora.com> wrote: > Fix following build warning: > warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘long long unsigned int’ > Looks good to me, but... grumble. `i' is an integer. That's just how it is, Blame Fortran if you like. Discovering that someone used `i' for an unsigned long long is like seeing struct inode *page; It is surprising, and readers shouldn't be subjected to surprises. `i' is used in two ways here. Twice to iterate across threshold values (as a ULL) and once to iterate across dest_preamble_size, which is an int. It would be better to have two different variables for the two different uses. Ones with more appropriate names than `i'.
On 1/12/24 2:14 AM, Andrew Morton wrote: > On Thu, 11 Jan 2024 13:20:38 +0500 Muhammad Usama Anjum <usama.anjum@collabora.com> wrote: > >> Fix following build warning: >> warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘long long unsigned int’ >> > > Looks good to me, but... grumble. > > `i' is an integer. That's just how it is, Blame Fortran if you like. Didn't know this. Thanks for sharing. I'll send a v2 by using two variables. > Discovering that someone used `i' for an unsigned long long is like > seeing > > struct inode *page; > > It is surprising, and readers shouldn't be subjected to surprises. > > `i' is used in two ways here. Twice to iterate across threshold values > (as a ULL) and once to iterate across dest_preamble_size, which is an > int. It would be better to have two different variables for the two > different uses. Ones with more appropriate names than `i'. >
diff --git a/tools/testing/selftests/mm/mremap_test.c b/tools/testing/selftests/mm/mremap_test.c index 1d4c1589c305..dd1cbb068982 100644 --- a/tools/testing/selftests/mm/mremap_test.c +++ b/tools/testing/selftests/mm/mremap_test.c @@ -457,7 +457,7 @@ static long long remap_region(struct config c, unsigned int threshold_mb, char c = (char) rand(); if (((char *) dest_preamble_addr)[i] != c) { - ksft_print_msg("Preamble data after remap doesn't match at offset %d\n", + ksft_print_msg("Preamble data after remap doesn't match at offset %llu\n", i); ksft_print_msg("Expected: %#x\t Got: %#x\n", c & 0xff, ((char *) dest_preamble_addr)[i] & 0xff);
Fix following build warning: warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘long long unsigned int’ Fixes: a4cb3b243343 ("selftests: mm: add a test for remapping to area immediately after existing mapping") Signed-off-by: Muhammad Usama Anjum <usama.anjum@collabora.com> --- tools/testing/selftests/mm/mremap_test.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)