linux-stable/fs/f2fs
Daeho Jeong 102b82708c f2fs: synchronize atomic write aborts
[ Upstream commit a46bebd502 ]

To fix a race condition between atomic write aborts, I use the inode
lock and make COW inode to be re-usable thoroughout the whole
atomic file inode lifetime.

Reported-by: syzbot+823000d23b3400619f7c@syzkaller.appspotmail.com
Fixes: 3db1de0e58 ("f2fs: change the current atomic write way")
Signed-off-by: Daeho Jeong <daehojeong@google.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-03-11 13:55:23 +01:00
..
acl.c f2fs: port to vfs{g,u}id_t and associated helpers 2022-10-04 13:31:43 -07:00
acl.h vfs: add rcu argument to ->get_acl() callback 2021-08-18 22:08:24 +02:00
checkpoint.c f2fs: support recording stop_checkpoint reason into super_block 2022-10-04 13:31:44 -07:00
compress.c f2fs: set zstd compress level correctly 2022-12-31 13:32:36 +01:00
data.c f2fs: don't rely on F2FS_MAP_* in f2fs_iomap_begin 2023-03-11 13:55:16 +01:00
debug.c f2fs: change to use atomic_t type form sbi.atomic_files 2022-10-07 12:57:26 -07:00
dir.c f2fs: support recording errors into superblock 2022-10-04 13:31:45 -07:00
extent_cache.c f2fs: let's avoid panic if extent_tree is not created 2023-01-24 07:24:32 +01:00
f2fs.h f2fs: correct i_size change for atomic writes 2023-03-11 13:55:18 +01:00
file.c f2fs: synchronize atomic write aborts 2023-03-11 13:55:23 +01:00
gc.c f2fs: fix to do sanity check on i_extra_isize in is_alive() 2023-02-09 11:28:27 +01:00
gc.h f2fs: remove redundant code for gc condition 2022-07-30 20:16:20 -07:00
hash.c f2fs: don't use casefolded comparison for "." and ".." 2022-05-17 11:19:23 -07:00
inline.c f2fs: fix information leak in f2fs_move_inline_dirents() 2023-03-10 09:34:08 +01:00
inode.c f2fs: synchronize atomic write aborts 2023-03-11 13:55:23 +01:00
iostat.c f2fs: fix to avoid potential memory corruption in __update_iostat_latency() 2023-03-11 13:55:21 +01:00
iostat.h f2fs: iostat: support accounting compressed IO 2022-08-29 21:15:51 -07:00
Kconfig f2fs: introduce F2FS_UNFAIR_RWSEM to support unfair rwsem 2022-03-04 09:15:53 -08:00
Makefile f2fs: separate out iostat feature 2021-08-23 10:25:51 -07:00
namei.c f2fs: fix to enable compress for newly created file if extension matches 2022-12-31 13:32:36 +01:00
node.c f2fs: allow to read node block after shutdown 2023-01-04 11:29:01 +01:00
node.h f2fs: change the current atomic write way 2022-05-12 10:14:03 -07:00
recovery.c f2fs: support recording errors into superblock 2022-10-04 13:31:45 -07:00
segment.c f2fs: synchronize atomic write aborts 2023-03-11 13:55:23 +01:00
segment.h f2fs: support recording errors into superblock 2022-10-04 13:31:45 -07:00
shrinker.c f2fs: avoid race condition for shrinker count 2020-12-03 00:59:26 -08:00
super.c f2fs: synchronize atomic write aborts 2023-03-11 13:55:23 +01:00
sysfs.c f2fs: introduce cp_status sysfs entry 2022-10-04 13:31:44 -07:00
verity.c fs: f2fs: initialize fsdata in pagecache_write() 2023-03-11 13:55:18 +01:00
xattr.c f2fs: support recording errors into superblock 2022-10-04 13:31:45 -07:00
xattr.h f2fs: code cleanup by removing ifdef macro surrounding 2020-05-26 18:56:10 -07:00