f2fs: do more sanity check on inode
authorChao Yu <chao@kernel.org>
Wed, 31 May 2023 01:40:55 +0000 (09:40 +0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Mon, 26 Jun 2023 13:07:09 +0000 (06:07 -0700)
commitf240d3aaf5a1552ecb75445b47b1ca957d5151d2
treefc88af7e9635e1e2e70797b655ead557742ac167
parent64ee9163fe1b911aa0476af06ee0afd23fdf7388
f2fs: do more sanity check on inode

There are several issues in sanity_check_inode():
- The code looks not clean, it checks extra_attr related condition
dispersively.
- It missed to check i_extra_isize w/ lower boundary
- It missed to check feature dependency: prjquota, inode_chksum,
inode_crtime, compression features rely on extra_attr feature.
- It's not necessary to check i_extra_isize due to it will only
be assigned to non-zero value if f2fs_has_extra_attr() is true
in do_read_inode().

Fix them all in this patch.

Signed-off-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/f2fs.h
fs/f2fs/inode.c