Commit b3968a85 authored by Su Hui's avatar Su Hui Committed by Li Nan
Browse files

f2fs: avoid format-overflow warning

stable inclusion
from stable-v5.10.202
commit c041f5ddef00c731c541e00bc8ae97b8c84c682f
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/I9R4KO
CVE: CVE-2023-52748

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=c041f5ddef00c731c541e00bc8ae97b8c84c682f



--------------------------------

commit e0d4e8acb3789c5a8651061fbab62ca24a45c063 upstream.

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.

Cc: stable@vger.kernel.org
Signed-off-by: default avatarSu Hui <suhui@nfschina.com>
Reviewed-by: default avatarChao Yu <chao@kernel.org>
Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: default avatarWang Hai <wanghai38@huawei.com>
Signed-off-by: default avatarLi Nan <linan122@huawei.com>
parent 0cefaf58
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1568,7 +1568,7 @@ void f2fs_decompress_end_io(struct page **rpages,
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];

	sprintf(slab_name, "f2fs_page_array_entry-%u:%u", MAJOR(dev), MINOR(dev));