linux-stable/fs/ext4
Jan Kara 86be63aea2 ext4: make sure to reset inode lockdep class when quota enabling fails
commit 4013d47a53 upstream.

When we succeed in enabling some quota type but fail to enable another
one with quota feature, we correctly disable all enabled quota types.
However we forget to reset i_data_sem lockdep class. When the inode gets
freed and reused, it will inherit this lockdep class (i_data_sem is
initialized only when a slab is created) and thus eventually lockdep
barfs about possible deadlocks.

Reported-and-tested-by: syzbot+3b6f9218b1301ddda3e2@syzkaller.appspotmail.com
Signed-off-by: Jan Kara <jack@suse.cz>
Cc: stable@kernel.org
Link: https://lore.kernel.org/r/20211007155336.12493-3-jack@suse.cz
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-01-27 09:19:51 +01:00
..
acl.c
acl.h
balloc.c ext4: shrink race window in ext4_should_retry_alloc() 2021-04-07 14:47:38 +02:00
bitmap.c
block_validity.c ext4: correctly restore system zone info when remount fails 2020-09-03 11:26:57 +02:00
dir.c ext4: fix potential infinite loop in ext4_dx_readdir() 2021-10-06 15:42:37 +02:00
ext4.h ext4: fix EXT4_MAX_LOGICAL_BLOCK macro 2021-08-26 08:36:11 -04:00
ext4_extents.h ext4: fix EXT_MAX_EXTENT/INDEX to check for zeroed eh_max 2020-06-22 09:31:15 +02:00
ext4_jbd2.c
ext4_jbd2.h
extents.c ext4: fix kernel infoleak via ext4_extent_header 2021-07-14 16:53:03 +02:00
extents_status.c ext4: remove check for zero nr_to_scan in ext4_es_scan() 2021-07-14 16:53:03 +02:00
extents_status.h
file.c ext4: don't leak old mountpoint samples 2021-01-19 18:26:13 +01:00
fsmap.c ext4: limit entries returned when counting fsmap records 2020-10-29 09:57:55 +01:00
fsmap.h
fsync.c ext4: fix race between ext4_sync_parent() and rename() 2020-06-22 09:31:16 +02:00
hash.c
ialloc.c ext4: fix avefreec in find_group_orlov 2021-07-14 16:53:03 +02:00
indirect.c
inline.c ext4: correct the error path of ext4_write_inline_data_end() 2021-10-17 10:42:33 +02:00
inode.c ext4: correct the error path of ext4_write_inline_data_end() 2021-10-17 10:42:33 +02:00
ioctl.c ext4: avoid trim error on fs with small groups 2022-01-27 09:19:37 +01:00
Kconfig
Makefile
mballoc.c ext4: avoid trim error on fs with small groups 2022-01-27 09:19:37 +01:00
mballoc.h
migrate.c ext4: fix race between writepages and enabling EXT4_EXTENTS_FL 2020-02-28 17:22:23 +01:00
mmp.c ext4: don't assume that mmp_nodename/bdevname have NUL 2020-02-19 19:52:58 +01:00
move_extent.c
namei.c ext4: fix potential htree corruption when growing large_dir directories 2021-08-12 13:21:02 +02:00
page-io.c ext4: fix deadlock allocating crypto bounce page from mempool 2020-02-11 04:35:32 -08:00
readpage.c ext4: fix deadlock allocating bio_post_read_ctx from mempool 2020-02-24 08:36:29 +01:00
resize.c ext4: fix error handling code in add_new_gdb 2020-11-05 11:43:35 +01:00
super.c ext4: make sure to reset inode lockdep class when quota enabling fails 2022-01-27 09:19:51 +01:00
symlink.c ext4: report correct st_size for encrypted symlinks 2021-09-12 08:56:38 +02:00
sysfs.c ext4: shrink race window in ext4_should_retry_alloc() 2021-04-07 14:47:38 +02:00
truncate.h
verity.c ext4: fix error handling in ext4_end_enable_verity() 2021-05-26 12:05:21 +02:00
xattr.c ext4: add reclaim checks to xattr code 2021-03-30 14:35:29 +02:00
xattr.h
xattr_security.c
xattr_trusted.c
xattr_user.c