fat: fix uninit-memory access for partial initialized inode
authorOGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Fri, 6 Mar 2020 06:28:36 +0000 (22:28 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 12 Mar 2020 12:00:19 +0000 (13:00 +0100)
commit557693d1d3a7ac4c675da1c45ab4d72d612f842c
tree6d206dfae859a9c14ce3e591dafc4f3a5dc51ecd
parentd467fbc93cdbb851427d7553876a67974e4a419a
fat: fix uninit-memory access for partial initialized inode

commit bc87302a093f0eab45cd4e250c2021299f712ec6 upstream.

When get an error in the middle of reading an inode, some fields in the
inode might be still not initialized.  And then the evict_inode path may
access those fields via iput().

To fix, this makes sure that inode fields are initialized.

Reported-by: syzbot+9d82b8de2992579da5d0@syzkaller.appspotmail.com
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Cc: <stable@vger.kernel.org>
Link: http://lkml.kernel.org/r/871rqnreqx.fsf@mail.parknet.co.jp
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/fat/inode.c