From: Liu Bo Date: Wed, 14 Sep 2016 02:02:27 +0000 (-0700) Subject: Btrfs: fix memory leak in do_walk_down X-Git-Tag: firefly_0821_release~176^2~4^2~7^2~37 X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=107800061996dc872a9fa72fb806ac9dadf2cb6b;p=firefly-linux-kernel-4.4.55.git Btrfs: fix memory leak in do_walk_down commit a958eab0ed7fdc1b977bc25d3af6efedaa945488 upstream. The extent buffer 'next' needs to be free'd conditionally. Signed-off-by: Liu Bo Reviewed-by: David Sterba Signed-off-by: David Sterba Signed-off-by: Greg Kroah-Hartman --- diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c index 431364ab9c0e..099645ab986d 100644 --- a/fs/btrfs/extent-tree.c +++ b/fs/btrfs/extent-tree.c @@ -8488,6 +8488,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; }