reiserfs: check directory items on read from disk
authorShreyansh Chouhan <chouhan.shreyansh630@gmail.com>
Fri, 9 Jul 2021 15:29:29 +0000 (20:59 +0530)
committerJan Kara <jack@suse.cz>
Fri, 16 Jul 2021 10:36:51 +0000 (12:36 +0200)
commit13d257503c0930010ef9eed78b689cec417ab741
tree344d619cbd3944e9aacfc02e54a807b7b1ddcc41
parent728d392f8a799f037812d0f2b254fb3b5e115fcf
reiserfs: check directory items on read from disk

While verifying the leaf item that we read from the disk, reiserfs
doesn't check the directory items, this could cause a crash when we
read a directory item from the disk that has an invalid deh_location.

This patch adds a check to the directory items read from the disk that
does a bounds check on deh_location for the directory entries. Any
directory entry header with a directory entry offset greater than the
item length is considered invalid.

Link: https://lore.kernel.org/r/20210709152929.766363-1-chouhan.shreyansh630@gmail.com
Reported-by: syzbot+c31a48e6702ccb3d64c9@syzkaller.appspotmail.com
Signed-off-by: Shreyansh Chouhan <chouhan.shreyansh630@gmail.com>
Signed-off-by: Jan Kara <jack@suse.cz>
fs/reiserfs/stree.c