f2fs: fix error path handling in truncate_dnode()
authorChao Yu <chao@kernel.org>
Thu, 29 Jun 2023 01:41:02 +0000 (09:41 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 19 Jul 2023 14:22:03 +0000 (16:22 +0200)
[ Upstream commit 0135c482fa97e2fd8245cb462784112a00ed1211 ]

If truncate_node() fails in truncate_dnode(), it missed to call
f2fs_put_page(), fix it.

Fixes: 7735730d39d7 ("f2fs: fix to propagate error from __get_meta_page()")
Signed-off-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/f2fs/node.c

index 07419c3..a010b4b 100644 (file)
@@ -941,8 +941,10 @@ static int truncate_dnode(struct dnode_of_data *dn)
        dn->ofs_in_node = 0;
        f2fs_truncate_data_blocks(dn);
        err = truncate_node(dn);
-       if (err)
+       if (err) {
+               f2fs_put_page(page, 1);
                return err;
+       }
 
        return 1;
 }