2019-12-10 20:45:41

by Arnd Bergmann

[permalink] [raw]
Subject: [PATCH] btrfs: fix format string warning

To print a size_t, the format string modifier %z should be used instead
of %l:

fs/btrfs/tree-checker.c: In function 'check_extent_data_item':
fs/btrfs/tree-checker.c:230:43: error: format '%lu' expects argument of type 'long unsigned int', but argument 5 has type 'unsigned int' [-Werror=format=]
"invalid item size, have %u expect [%lu, %u)",
~~^
%u

Fixes: 153a6d299956 ("btrfs: tree-checker: Check item size before reading file extent type")
Signed-off-by: Arnd Bergmann <[email protected]>
---
fs/btrfs/tree-checker.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/btrfs/tree-checker.c b/fs/btrfs/tree-checker.c
index 493d4d9e0f79..092b8ece36d7 100644
--- a/fs/btrfs/tree-checker.c
+++ b/fs/btrfs/tree-checker.c
@@ -227,7 +227,7 @@ static int check_extent_data_item(struct extent_buffer *leaf,
*/
if (item_size < BTRFS_FILE_EXTENT_INLINE_DATA_START) {
file_extent_err(leaf, slot,
- "invalid item size, have %u expect [%lu, %u)",
+ "invalid item size, have %u expect [%zu, %u)",
item_size, BTRFS_FILE_EXTENT_INLINE_DATA_START,
SZ_4K);
return -EUCLEAN;
--
2.20.0


2019-12-10 20:48:42

by Josef Bacik

[permalink] [raw]
Subject: Re: [PATCH] btrfs: fix format string warning

On 12/10/19 3:44 PM, Arnd Bergmann wrote:
> To print a size_t, the format string modifier %z should be used instead
> of %l:
>
> fs/btrfs/tree-checker.c: In function 'check_extent_data_item':
> fs/btrfs/tree-checker.c:230:43: error: format '%lu' expects argument of type 'long unsigned int', but argument 5 has type 'unsigned int' [-Werror=format=]
> "invalid item size, have %u expect [%lu, %u)",
> ~~^
> %u
>
> Fixes: 153a6d299956 ("btrfs: tree-checker: Check item size before reading file extent type")
> Signed-off-by: Arnd Bergmann <[email protected]>

Reviewed-by: Josef Bacik <[email protected]>

Thanks,

Josef

2019-12-13 12:35:16

by David Sterba

[permalink] [raw]
Subject: Re: [PATCH] btrfs: fix format string warning

On Tue, Dec 10, 2019 at 09:44:16PM +0100, Arnd Bergmann wrote:
> To print a size_t, the format string modifier %z should be used instead
> of %l:
>
> fs/btrfs/tree-checker.c: In function 'check_extent_data_item':
> fs/btrfs/tree-checker.c:230:43: error: format '%lu' expects argument of type 'long unsigned int', but argument 5 has type 'unsigned int' [-Werror=format=]
> "invalid item size, have %u expect [%lu, %u)",
> ~~^
> %u
>
> Fixes: 153a6d299956 ("btrfs: tree-checker: Check item size before reading file extent type")
> Signed-off-by: Arnd Bergmann <[email protected]>

Thanks, there's already fix for that in our devel queue, I'm going to
send it to the next rc.