linux-stable/fs/f2fs
Colin Ian King 769171e21c f2fs: fix a redundant call to f2fs_balance_fs if an error occurs
[ Upstream commit 28e18ee636 ]

The  uninitialized variable dn.node_changed does not get set when a
call to f2fs_get_node_page fails.  This uninitialized value gets used
in the call to f2fs_balance_fs() that may or not may not balances
dirty node and dentry pages depending on the uninitialized state of
the variable. Fix this by only calling f2fs_balance_fs if err is
not set.

Thanks to Jaegeuk Kim for suggesting an appropriate fix.

Addresses-Coverity: ("Uninitialized scalar variable")
Fixes: 2a34076070 ("f2fs: call f2fs_balance_fs only when node was changed")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-05-22 10:57:38 +02:00
..
acl.c f2fs: fix wrong return value of f2fs_acl_create 2019-02-12 19:46:00 +01:00
acl.h
checkpoint.c f2fs: fix to check segment boundary during SIT page readahead 2020-11-05 11:06:53 +01:00
data.c f2fs: fix potential overflow 2020-01-17 19:45:52 +01:00
debug.c f2fs: show available_nids in f2fs/status 2017-05-03 10:04:57 -07:00
dir.c f2fs: check if file namelen exceeds max value 2020-08-05 10:06:49 +02:00
extent_cache.c f2fs: fix to check extent cache in f2fs_drop_extent_tree 2018-05-30 07:52:33 +02:00
f2fs.h f2fs: use generic EFSBADCRC/EFSCORRUPTED 2019-10-05 12:47:39 +02:00
file.c f2fs: fix out-of-repair __setattr_copy() 2021-03-03 18:22:55 +01:00
gc.c f2fs: fix to allow node segment for GC by ioctl path 2019-12-17 20:38:12 +01:00
gc.h f2fs: fix potential overflow when adjusting GC cycle 2017-08-15 10:40:14 -07:00
hash.c f2fs: check entire encrypted bigname when finding a dentry 2017-05-04 11:44:35 -04:00
inline.c f2fs: fix a redundant call to f2fs_balance_fs if an error occurs 2021-05-22 10:57:38 +02:00
inode.c f2fs: use generic EFSBADCRC/EFSCORRUPTED 2019-10-05 12:47:39 +02:00
Kconfig
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
namei.c fscrypt: return -EXDEV for incompatible rename or link into encrypted dir 2020-11-05 11:06:52 +01:00
node.c f2fs: fix indefinite loop scanning for free nid 2020-09-23 10:46:34 +02:00
node.h f2fs: simplify the way of calulating next nat address 2017-07-04 02:11:34 -07:00
recovery.c f2fs: mark inode dirty explicitly in recover_inode() 2019-11-20 18:00:45 +01:00
segment.c f2fs: fix to spread clear_cold_data() 2019-12-01 09:13:44 +01:00
segment.h f2fs: handle unallocated section and zone on pinned/atgc 2021-03-07 11:27:45 +01:00
shrinker.c f2fs: fix sbi->extent_list corruption issue 2019-02-12 19:46:08 +01:00
super.c f2fs: fix use-after-free issue 2020-09-03 11:22:26 +02:00
sysfs.c f2fs: wait for sysfs kobject removal before freeing f2fs_sb_info 2020-10-29 09:07:10 +01:00
trace.c f2fs: do not use mutex lock in atomic context 2019-04-05 22:31:27 +02:00
trace.h
xattr.c f2fs: fix to avoid memory leakage in f2fs_listxattr 2020-05-20 08:17:04 +02:00
xattr.h f2fs: fix to avoid accessing xattr across the boundary 2020-05-20 08:17:04 +02:00