4.4-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Jaegeuk Kim <jaeg...@kernel.org>

commit a2125ff7dd1ed3a2a53cdc1f8f9c9cec9cfaa7ab upstream.

This fixes missing freeing meta pages in the error case.

Tested-by: Eric Biggers <ebigg...@google.com>
Signed-off-by: Jaegeuk Kim <jaeg...@kernel.org>
Signed-off-by: Ben Hutchings <ben.hutchi...@codethink.co.uk>
Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>
---
 fs/f2fs/checkpoint.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

--- a/fs/f2fs/checkpoint.c
+++ b/fs/f2fs/checkpoint.c
@@ -708,7 +708,7 @@ int get_valid_checkpoint(struct f2fs_sb_
 
        /* Sanity checking of checkpoint */
        if (sanity_check_ckpt(sbi))
-               goto fail_no_cp;
+               goto free_fail_no_cp;
 
        if (cur_page == cp1)
                sbi->cur_cp_pack = 1;
@@ -736,6 +736,9 @@ done:
        f2fs_put_page(cp2, 1);
        return 0;
 
+free_fail_no_cp:
+       f2fs_put_page(cp1, 1);
+       f2fs_put_page(cp2, 1);
 fail_no_cp:
        kfree(sbi->ckpt);
        return -EINVAL;


Reply via email to