Re: [syzbot] kernel BUG in ext4_es_cache_extent

From: Jan Kara
Date: Wed Apr 20 2022 - 08:16:37 EST


On Mon 14-02-22 02:03:37, Phi Nguyen wrote:
> The non-journal mounted fs is corrupted, syzbot was able to mount it because
> a [fast commit] patch exclude its inodes from verification process.
>
> #syz test: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> master

This patch seems to have fallen through the cracks. Phi, care to submit it
properly with your Signed-off-by etc?

Honza

> diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
> index 01c9e4f743ba..385f4ae71573 100644
> --- a/fs/ext4/inode.c
> +++ b/fs/ext4/inode.c
> @@ -4912,7 +4912,7 @@ struct inode *__ext4_iget(struct super_block *sb, unsigned long ino,
> goto bad_inode;
> } else if (!ext4_has_inline_data(inode)) {
> /* validate the block references in the inode */
> - if (!(EXT4_SB(sb)->s_mount_state & EXT4_FC_REPLAY) &&
> + if (!(journal && EXT4_SB(sb)->s_mount_state & EXT4_FC_REPLAY) &&
> (S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode) ||
> (S_ISLNK(inode->i_mode) &&
> !ext4_inode_is_fast_symlink(inode)))) {

--
Jan Kara <jack@xxxxxxxx>
SUSE Labs, CR