fs/f2fs/compress.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
With gcc and W=1 option, there's a warning like this:
fs/f2fs/compress.c: In function ‘f2fs_init_page_array_cache’:
fs/f2fs/compress.c:1984:47: error: ‘%u’ directive writing between
1 and 7 bytes into a region of size between 5 and 8
[-Werror=format-overflow=]
1984 | sprintf(slab_name, "f2fs_page_array_entry-%u:%u", MAJOR(dev),
MINOR(dev));
| ^~
String "f2fs_page_array_entry-%u:%u" can up to 35. The first "%u" can up
to 4 and the second "%u" can up to 7, so total size is "24 + 4 + 7 = 35".
slab_name's size should be 35 rather than 32.
Signed-off-by: Su Hui <suhui@nfschina.com>
---
fs/f2fs/compress.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/f2fs/compress.c b/fs/f2fs/compress.c
index d820801f473e..7514661bbfbb 100644
--- a/fs/f2fs/compress.c
+++ b/fs/f2fs/compress.c
@@ -1976,7 +1976,7 @@ void f2fs_destroy_compress_inode(struct f2fs_sb_info *sbi)
int f2fs_init_page_array_cache(struct f2fs_sb_info *sbi)
{
dev_t dev = sbi->sb->s_bdev->bd_dev;
- char slab_name[32];
+ char slab_name[35];
if (!f2fs_sb_has_compression(sbi))
return 0;
--
2.30.2
On 2023/10/8 14:39, Su Hui wrote: > With gcc and W=1 option, there's a warning like this: > > fs/f2fs/compress.c: In function ‘f2fs_init_page_array_cache’: > fs/f2fs/compress.c:1984:47: error: ‘%u’ directive writing between > 1 and 7 bytes into a region of size between 5 and 8 > [-Werror=format-overflow=] > 1984 | sprintf(slab_name, "f2fs_page_array_entry-%u:%u", MAJOR(dev), > MINOR(dev)); > | ^~ > > String "f2fs_page_array_entry-%u:%u" can up to 35. The first "%u" can up > to 4 and the second "%u" can up to 7, so total size is "24 + 4 + 7 = 35". > slab_name's size should be 35 rather than 32. > > Signed-off-by: Su Hui <suhui@nfschina.com> Looks good to me, thanks for the patch. Reviewed-by: Chao Yu <chao@kernel.org> Thanks,
© 2016 - 2026 Red Hat, Inc.