]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
KMSAN: uninit-value in inode_go_dump (5)
authorQianqiang Liu <qianqiang.liu@163.com>
Mon, 21 Oct 2024 20:58:01 +0000 (22:58 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 14 Dec 2024 19:04:03 +0000 (20:04 +0100)
[ Upstream commit f9417fcfca3c5e30a0b961e7250fab92cfa5d123 ]

When mounting of a corrupted disk image fails, the error message printed
can reference uninitialized inode fields.  To prevent that from happening,
always initialize those fields.

Reported-by: syzbot+aa0730b0a42646eb1359@syzkaller.appspotmail.com
Signed-off-by: Qianqiang Liu <qianqiang.liu@163.com>
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/gfs2/super.c

index e22c1edc32b39e767b9ebc3bbc1755969b7c3d02..b9cef63c78717f4b9a860a90984be22b9865873d 100644 (file)
@@ -1537,11 +1537,13 @@ static struct inode *gfs2_alloc_inode(struct super_block *sb)
        if (!ip)
                return NULL;
        ip->i_no_addr = 0;
+       ip->i_no_formal_ino = 0;
        ip->i_flags = 0;
        ip->i_gl = NULL;
        gfs2_holder_mark_uninitialized(&ip->i_iopen_gh);
        memset(&ip->i_res, 0, sizeof(ip->i_res));
        RB_CLEAR_NODE(&ip->i_res.rs_node);
+       ip->i_diskflags = 0;
        ip->i_rahead = 0;
        return &ip->i_inode;
 }