summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQianqiang Liu <qianqiang.liu@163.com>2024-10-21 22:58:01 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2024-12-14 20:04:03 +0100
commit7e45af15cf724dfbb755bf4fe5093b96731a7fc1 (patch)
treeb58069279870dda8855cab3c33c4b7623a57483a
parent9e28513fd2858911dcf47b84160a8824587536b6 (diff)
KMSAN: uninit-value in inode_go_dump (5)
[ 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>
-rw-r--r--fs/gfs2/super.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/gfs2/super.c b/fs/gfs2/super.c
index e22c1edc32b3..b9cef63c7871 100644
--- a/fs/gfs2/super.c
+++ b/fs/gfs2/super.c
@@ -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;
}