Message ID | 20241212175748.1750854-1-dmantipov@yandex.ru (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [v2] f2fs: ensure that node info flags are always initialized | expand |
On 2024/12/13 1:57, Dmitry Antipov wrote: > Syzbot has reported the following KMSAN splat: > > BUG: KMSAN: uninit-value in f2fs_new_node_page+0x1494/0x1630 > f2fs_new_node_page+0x1494/0x1630 > f2fs_new_inode_page+0xb9/0x100 > f2fs_init_inode_metadata+0x176/0x1e90 > f2fs_add_inline_entry+0x723/0xc90 > f2fs_do_add_link+0x48f/0xa70 > f2fs_symlink+0x6af/0xfc0 > vfs_symlink+0x1f1/0x470 > do_symlinkat+0x471/0xbc0 > __x64_sys_symlink+0xcf/0x140 > x64_sys_call+0x2fcc/0x3d90 > do_syscall_64+0xd9/0x1b0 > entry_SYSCALL_64_after_hwframe+0x77/0x7f > > Local variable new_ni created at: > f2fs_new_node_page+0x9d/0x1630 > f2fs_new_inode_page+0xb9/0x100 > > So adjust 'f2fs_get_node_info()' to ensure that 'flag' > field of 'struct node_info' is always initialized. > > Reported-by: syzbot+5141f6db57a2f7614352@syzkaller.appspotmail.com > Closes: https://syzkaller.appspot.com/bug?extid=5141f6db57a2f7614352 > Fixes: e05df3b115e7 ("f2fs: add node operations") > Suggested-by: Chao Yu <chao@kernel.org> > Signed-off-by: Dmitry Antipov <dmantipov@yandex.ru> Reviewed-by: Chao Yu <chao@kernel.org> Thanks,
Hello: This patch was applied to jaegeuk/f2fs.git (dev) by Jaegeuk Kim <jaegeuk@kernel.org>: On Thu, 12 Dec 2024 20:57:48 +0300 you wrote: > Syzbot has reported the following KMSAN splat: > > BUG: KMSAN: uninit-value in f2fs_new_node_page+0x1494/0x1630 > f2fs_new_node_page+0x1494/0x1630 > f2fs_new_inode_page+0xb9/0x100 > f2fs_init_inode_metadata+0x176/0x1e90 > f2fs_add_inline_entry+0x723/0xc90 > f2fs_do_add_link+0x48f/0xa70 > f2fs_symlink+0x6af/0xfc0 > vfs_symlink+0x1f1/0x470 > do_symlinkat+0x471/0xbc0 > __x64_sys_symlink+0xcf/0x140 > x64_sys_call+0x2fcc/0x3d90 > do_syscall_64+0xd9/0x1b0 > entry_SYSCALL_64_after_hwframe+0x77/0x7f > > [...] Here is the summary with links: - [f2fs-dev,v2] f2fs: ensure that node info flags are always initialized https://git.kernel.org/jaegeuk/f2fs/c/76f01376df39 You are awesome, thank you!
diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c index 0b900a7a48e5..c04ee1a7ce57 100644 --- a/fs/f2fs/node.c +++ b/fs/f2fs/node.c @@ -558,6 +558,7 @@ int f2fs_get_node_info(struct f2fs_sb_info *sbi, nid_t nid, block_t blkaddr; int i; + ni->flag = 0; ni->nid = nid; retry: /* Check nat cache */
Syzbot has reported the following KMSAN splat: BUG: KMSAN: uninit-value in f2fs_new_node_page+0x1494/0x1630 f2fs_new_node_page+0x1494/0x1630 f2fs_new_inode_page+0xb9/0x100 f2fs_init_inode_metadata+0x176/0x1e90 f2fs_add_inline_entry+0x723/0xc90 f2fs_do_add_link+0x48f/0xa70 f2fs_symlink+0x6af/0xfc0 vfs_symlink+0x1f1/0x470 do_symlinkat+0x471/0xbc0 __x64_sys_symlink+0xcf/0x140 x64_sys_call+0x2fcc/0x3d90 do_syscall_64+0xd9/0x1b0 entry_SYSCALL_64_after_hwframe+0x77/0x7f Local variable new_ni created at: f2fs_new_node_page+0x9d/0x1630 f2fs_new_inode_page+0xb9/0x100 So adjust 'f2fs_get_node_info()' to ensure that 'flag' field of 'struct node_info' is always initialized. Reported-by: syzbot+5141f6db57a2f7614352@syzkaller.appspotmail.com Closes: https://syzkaller.appspot.com/bug?extid=5141f6db57a2f7614352 Fixes: e05df3b115e7 ("f2fs: add node operations") Suggested-by: Chao Yu <chao@kernel.org> Signed-off-by: Dmitry Antipov <dmantipov@yandex.ru> --- v2: move flag initialization to f2fs_get_node_info() as suggested by Chao --- fs/f2fs/node.c | 1 + 1 file changed, 1 insertion(+)