kernel_optimize_test/fs/f2fs
Jaegeuk Kim bb8108546d f2fs: should put a page beyond EOF when preparing a write
[ Upstream commit 9605f75cf36e0bcc0f4ada07b5be712d30107607 ]

The prepare_compress_overwrite() gets/locks a page to prepare a read, and calls
f2fs_read_multi_pages() which checks EOF first. If there's any page beyond EOF,
we unlock the page and set cc->rpages[i] = NULL, which we can't put the page
anymore. This makes page leak, so let's fix by putting that page.

Fixes: a949dc5f2c5c ("f2fs: compress: fix race condition of overwrite vs truncate")
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-09-18 13:40:16 +02:00
..
acl.c f2fs: clean up kvfree 2020-09-14 11:15:37 -07:00
acl.h
checkpoint.c f2fs: avoid race condition for shrinker count 2021-01-06 14:56:54 +01:00
compress.c f2fs: deallocate compressed pages when error happens 2021-09-18 13:40:16 +02:00
data.c f2fs: should put a page beyond EOF when preparing a write 2021-09-18 13:40:16 +02:00
debug.c f2fs: avoid race condition for shrinker count 2021-01-06 14:56:54 +01:00
dir.c f2fs: reduce the scope of setting fsck tag when de->name_len is zero 2021-09-18 13:40:13 +02:00
extent_cache.c f2fs: support 64-bits key in f2fs rb-tree node entry 2020-09-10 14:03:30 -07:00
f2fs.h f2fs: fix to avoid racing on fsync_entry_slab by multi filesystem instances 2021-07-19 09:45:03 +02:00
file.c f2fs: fix to unmap pages from userspace process in punch_hole() 2021-09-18 13:40:16 +02:00
gc.c f2fs: fix to account missing .skipped_gc_rwsem 2021-09-18 13:40:16 +02:00
gc.h f2fs: support age threshold based garbage collection 2020-09-11 11:11:15 -07:00
hash.c f2fs-for-5.8-rc1 2020-06-09 11:28:59 -07:00
inline.c f2fs: fix a redundant call to f2fs_balance_fs if an error occurs 2021-05-19 10:13:00 +02:00
inode.c f2fs: fix to set SBI_NEED_FSCK flag for inconsistent inode 2020-10-09 10:29:31 -07:00
Kconfig
Makefile
namei.c f2fs: report correct st_size for encrypted symlinks 2021-09-08 08:48:59 +02:00
node.c f2fs: fix to avoid out-of-bounds memory access 2021-05-11 14:47:34 +02:00
node.h f2fs: avoid race condition for shrinker count 2021-01-06 14:56:54 +01:00
recovery.c f2fs: fix to avoid racing on fsync_entry_slab by multi filesystem instances 2021-07-19 09:45:03 +02:00
segment.c f2fs: fix to avoid accessing invalid fio in f2fs_allocate_data_block() 2021-05-19 10:13:02 +02:00
segment.h f2fs: fix to avoid touching checkpointed data in get_victim() 2021-05-19 10:13:02 +02:00
shrinker.c f2fs: avoid race condition for shrinker count 2021-01-06 14:56:54 +01:00
super.c f2fs: quota: fix potential deadlock 2021-09-18 13:40:11 +02:00
sysfs.c f2fs: Show casefolding support only when supported 2021-07-25 14:36:17 +02:00
trace.c
trace.h
verity.c f2fs: fix error handling in f2fs_end_enable_verity() 2021-05-11 14:47:34 +02:00
xattr.c f2fs: clean up kvfree 2020-09-14 11:15:37 -07:00
xattr.h