linux/fs/ext4
Jan Kara 4013d47a53 ext4: make sure to reset inode lockdep class when quota enabling fails
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>
2022-01-10 13:25:55 -05:00
..
.kunitconfig ext4: add .kunitconfig fragment to enable ext4-specific tests 2021-02-11 23:16:30 -05:00
acl.c ext4: use ext4_journal_start/stop for fast commit transactions 2021-12-23 18:13:25 -05:00
acl.h vfs: add rcu argument to ->get_acl() callback 2021-08-18 22:08:24 +02:00
balloc.c ext4: flush background discard kwork when retry allocation 2021-08-30 23:35:53 -04:00
bitmap.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
block_validity.c ext4: standardize error message in ext4_protect_reserved_inode() 2020-12-17 13:30:55 -05:00
dir.c ext4: fix potential infinite loop in ext4_dx_readdir() 2021-10-01 00:05:09 -04:00
ext4_extents.h ext4: fix sparse warnings 2021-08-30 23:36:50 -04:00
ext4_jbd2.c ext4: Support for checksumming from journal triggers 2021-08-30 23:36:50 -04:00
ext4_jbd2.h ext4: Support for checksumming from journal triggers 2021-08-30 23:36:50 -04:00
ext4.h ext4: destroy ext4_fc_dentry_cachep kmemcache on module removal 2022-01-10 13:25:54 -05:00
extents_status.c ext4: correct the cache_nr in tracepoint ext4_es_shrink_exit 2021-06-22 21:34:17 -04:00
extents_status.h ext4: fix extent_status trace points 2020-01-25 02:03:03 -05:00
extents.c ext4: fix fast commit may miss tracking range for FALLOC_FL_ZERO_RANGE 2022-01-10 13:25:44 -05:00
fast_commit.c ext4: destroy ext4_fc_dentry_cachep kmemcache on module removal 2022-01-10 13:25:54 -05:00
fast_commit.h ext4: simplify updating of fast commit stats 2021-12-23 18:13:25 -05:00
file.c ext4: use ext4_journal_start/stop for fast commit transactions 2021-12-23 18:13:25 -05:00
fsmap.c treewide: Change list_sort to use const pointers 2021-04-08 16:04:22 -07:00
fsmap.h ext4: fsmap: fix the block/inode bitmap comment 2021-06-24 09:48:29 -04:00
fsync.c block: use an on-stack bio in blkdev_issue_flush 2021-01-27 09:51:48 -07:00
hash.c ext4: handle casefolding with encryption 2021-04-05 22:04:20 -04:00
ialloc.c ext4: Support for checksumming from journal triggers 2021-08-30 23:36:50 -04:00
indirect.c ext4: Support for checksumming from journal triggers 2021-08-30 23:36:50 -04:00
inline.c ext4: remove extent cache entries when truncating inline data 2021-09-09 10:52:05 -04:00
inode-test.c fs: ext4: Modify inode-test.c to use KUnit parameterized testing feature 2020-12-02 16:07:25 -07:00
inode.c ext4: fast commit may miss tracking unwritten range during ftruncate 2022-01-10 13:25:54 -05:00
ioctl.c ext4: drop ineligible txn start stop APIs 2021-12-23 18:13:25 -05:00
Kconfig ext: EXT4_KUNIT_TESTS should depend on EXT4_FS instead of selecting it 2021-02-11 23:12:59 -05:00
Makefile ext4: Move orphan inode handling into a separate file 2021-08-30 23:36:51 -04:00
mballoc.c ext4: scope ret locally in ext4_try_to_trim_range() 2021-11-04 10:33:25 -04:00
mballoc.h ext4: fix various seppling typos 2021-04-09 23:14:59 -04:00
migrate.c ext4: fix various seppling typos 2021-04-09 23:14:59 -04:00
mmp.c ext4: fix potential uninitialized access to retval in kmmpd 2021-07-23 07:31:29 -04:00
move_extent.c ext4: use common helpers in all places reading metadata buffers 2020-10-18 10:37:14 -04:00
namei.c ext4: fix boolreturn.cocci warnings in fs/ext4/name.c 2021-11-04 10:33:25 -04:00
orphan.c ext4: Improve scalability of ext4 orphan file handling 2021-08-30 23:36:51 -04:00
page-io.c ext4: convert from atomic_t to refcount_t on ext4_io_end->count 2021-11-04 10:33:24 -04:00
readpage.c block: Add bio_max_segs 2021-02-26 15:49:51 -07:00
resize.c ext4: Support for checksumming from journal triggers 2021-08-30 23:36:50 -04:00
super.c ext4: make sure to reset inode lockdep class when quota enabling fails 2022-01-10 13:25:55 -05:00
symlink.c ext4: report correct st_size for encrypted symlinks 2021-07-25 20:01:06 -07:00
sysfs.c ext4: notify sysfs on errors_count value change 2021-06-29 21:06:02 -04:00
truncate.h ext4: Convert to use mapping->invalidate_lock 2021-07-13 14:29:00 +02:00
verity.c New features for ext4 this cycle include support for encrypted 2021-04-30 15:35:30 -07:00
xattr_hurd.c acl: handle idmapped mounts 2021-01-24 14:27:17 +01:00
xattr_security.c acl: handle idmapped mounts 2021-01-24 14:27:17 +01:00
xattr_trusted.c acl: handle idmapped mounts 2021-01-24 14:27:17 +01:00
xattr_user.c acl: handle idmapped mounts 2021-01-24 14:27:17 +01:00
xattr.c ext4: Support for checksumming from journal triggers 2021-08-30 23:36:50 -04:00
xattr.h ext4: remove duplicate definition of ext4_xattr_ibody_inline_set() 2021-06-24 10:09:39 -04:00