]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
f2fs: optimize error handling in redirty_blocks
authorJack Qiu <jack.qiu@huawei.com>
Tue, 31 May 2022 01:16:56 +0000 (09:16 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 17 Oct 2024 13:11:04 +0000 (15:11 +0200)
[ Upstream commit a4a0e16dbf77582c4f58ab472229dd071b5c4260 ]

Current error handling is at risk of page leaks. However, we dot't seek
any failure scenarios, just use f2fs_bug_on.

Signed-off-by: Jack Qiu <jack.qiu@huawei.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Stable-dep-of: a4d7f2b3238f ("f2fs: fix to wait page writeback before setting gcing flag")
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/f2fs/file.c

index 8551c3d3c2340a9f7cf8505ec911f8b51b584c8c..2f2cd520f55d6eaca85443a300690e244c4cd103 100644 (file)
@@ -4011,10 +4011,10 @@ static int redirty_blocks(struct inode *inode, pgoff_t page_idx, int len)
 
        for (i = 0; i < page_len; i++, redirty_idx++) {
                page = find_lock_page(mapping, redirty_idx);
-               if (!page) {
-                       ret = -ENOMEM;
-                       break;
-               }
+
+               /* It will never fail, when page has pinned above */
+               f2fs_bug_on(F2FS_I_SB(inode), !page);
+
                set_page_dirty(page);
                set_page_private_gcing(page);
                f2fs_put_page(page, 1);