linux_dsm_epyc7002/fs/ext4
Jan Kara f4c2d372b8 ext4: fix leak of quota reservations
Commit 8fcc3a5806 ("ext4: rework reserved cluster accounting when
invalidating pages") moved freeing of delayed allocation reservations
from dirty page invalidation time to time when we evict corresponding
status extent from extent status tree. For inodes which don't have any
blocks allocated this may actually happen only in ext4_clear_blocks()
which is after we've dropped references to quota structures from the
inode. Thus reservation of quota leaked. Fix the problem by clearing
quota information from the inode only after evicting extent status tree
in ext4_clear_inode().

Link: https://lore.kernel.org/r/20191108115420.GI20863@quack2.suse.cz
Reported-by: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>
Fixes: 8fcc3a5806 ("ext4: rework reserved cluster accounting when invalidating pages")
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2019-11-14 19:25:47 -05:00
..
acl.c
acl.h
balloc.c ext4: clean up kerneldoc warnigns when building with W=1 2019-06-19 16:30:03 -04:00
bitmap.c
block_validity.c ext4: fix potential use after free after remounting with noblock_validity 2019-08-28 11:13:24 -04:00
dir.c ext4: fix kernel oops caused by spurious casefold flag 2019-09-03 01:43:17 -04:00
ext4_extents.h
ext4_jbd2.c ext4: Reserve revoke credits for freed blocks 2019-11-05 16:00:49 -05:00
ext4_jbd2.h ext4: Reserve revoke credits for freed blocks 2019-11-05 16:00:49 -05:00
ext4.h Merge branch 'mb/dio' into master 2019-11-05 16:21:09 -05:00
extents_status.c ext4: use percpu_counters for extent_status cache hits/misses 2019-08-28 11:19:23 -04:00
extents_status.h ext4: use percpu_counters for extent_status cache hits/misses 2019-08-28 11:19:23 -04:00
extents.c Merge branch 'mb/dio' into master 2019-11-05 16:21:09 -05:00
file.c ext4: introduce direct I/O write using iomap infrastructure 2019-11-05 15:53:28 -05:00
fsmap.c ext4: fix miscellaneous sparse warnings 2019-05-12 04:49:47 -04:00
fsmap.h
fsync.c ext4: update ext4_sync_file() to not use __generic_file_fsync() 2019-11-05 11:31:40 -05:00
hash.c ext4: fix kernel oops caused by spurious casefold flag 2019-09-03 01:43:17 -04:00
ialloc.c ext4: fix leak of quota reservations 2019-11-14 19:25:47 -05:00
indirect.c ext4: Reserve revoke credits for freed blocks 2019-11-05 16:00:49 -05:00
inline.c ext4: set error return correctly when ext4_htree_store_dirent fails 2019-08-12 14:29:38 -04:00
inode.c ext4: Add error handling for io_end_vec struct allocation 2019-11-10 19:52:03 -05:00
ioctl.c Added new ext4 debugging ioctls to allow userspace to get information 2019-09-21 13:37:39 -07:00
Kconfig treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
Makefile ext4: add basic fs-verity support 2019-08-12 19:33:50 -07:00
mballoc.c ext4: clean up kerneldoc warnigns when building with W=1 2019-06-19 16:30:03 -04:00
mballoc.h
migrate.c ext4: Reserve revoke credits for freed blocks 2019-11-05 16:00:49 -05:00
mmp.c
move_extent.c ext4: use jbd2_inode dirty range scoping 2019-06-20 17:26:26 -04:00
namei.c ext4: Do not iput inode under running transaction 2019-11-05 12:13:25 -05:00
page-io.c ext4: Add support for blocksize < pagesize in dioread_nolock 2019-10-22 15:32:53 -04:00
readpage.c ext4: add fs-verity read support 2019-08-12 19:33:51 -07:00
resize.c ext4: Reserve revoke credits for freed blocks 2019-11-05 16:00:49 -05:00
super.c ext4: fix leak of quota reservations 2019-11-14 19:25:47 -05:00
symlink.c
sysfs.c ext4: add basic fs-verity support 2019-08-12 19:33:50 -07:00
truncate.h
verity.c ext4: add basic fs-verity support 2019-08-12 19:33:50 -07:00
xattr_security.c
xattr_trusted.c
xattr_user.c
xattr.c ext4: Reserve revoke credits for freed blocks 2019-11-05 16:00:49 -05:00
xattr.h