]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
Btrfs: fix memory leak in do_walk_down
authorLiu Bo <bo.li.liu@oracle.com>
Wed, 14 Sep 2016 02:02:27 +0000 (19:02 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 6 Jan 2017 10:16:20 +0000 (11:16 +0100)
commit a958eab0ed7fdc1b977bc25d3af6efedaa945488 upstream.

The extent buffer 'next' needs to be free'd conditionally.

Signed-off-by: Liu Bo <bo.li.liu@oracle.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/btrfs/extent-tree.c

index 4d9377df6d3d6a801e3c27544c1984e16b3b4b7d..c5cc48e969c52430aa5f18cfaa819df4c7977b3f 100644 (file)
@@ -8886,6 +8886,7 @@ static noinline int do_walk_down(struct btrfs_trans_handle *trans,
                                       &wc->flags[level - 1]);
        if (ret < 0) {
                btrfs_tree_unlock(next);
+               free_extent_buffer(next);
                return ret;
        }