Messages in this thread Patch in this message | | | From | Hillf Danton <> | Subject | Re: [syzbot] [ext4?] possible deadlock in ext4_xattr_inode_iget (3) | Date | Wed, 3 Apr 2024 21:44:54 +0800 |
| |
On Wed, 03 Apr 2024 00:45:29 -0700 > syzbot found the following issue on: > > HEAD commit: fe46a7dd189e Merge tag 'sound-6.9-rc1' of git://git.kernel.. > git tree: upstream > C reproducer: https://syzkaller.appspot.com/x/repro.c?x=140d9db1180000
#syz test https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git fe46a7dd189e
--- x/fs/ext4/inode.c +++ y/fs/ext4/inode.c @@ -5414,6 +5414,7 @@ int ext4_setattr(struct mnt_idmap *idmap (attr->ia_size > 0 ? attr->ia_size - 1 : 0) >> inode->i_sb->s_blocksize_bits); + down_read(&EXT4_I(inode)->xattr_sem); down_write(&EXT4_I(inode)->i_data_sem); old_disksize = EXT4_I(inode)->i_disksize; EXT4_I(inode)->i_disksize = attr->ia_size; @@ -5430,6 +5431,7 @@ int ext4_setattr(struct mnt_idmap *idmap else EXT4_I(inode)->i_disksize = old_disksize; up_write(&EXT4_I(inode)->i_data_sem); + up_read(&EXT4_I(inode)->xattr_sem); ext4_journal_stop(handle); if (error) goto out_mmap_sem; --
| |