summaryrefslogtreecommitdiff
path: root/fs/btrfs
diff options
context:
space:
mode:
authorTsutomu Itoh <t-itoh@jp.fujitsu.com>2014-04-09 04:18:04 +0400
committerChris Mason <clm@fb.com>2014-06-10 04:20:42 +0400
commit59885b39303edc0b3284f324a1ca42cb6e7742d0 (patch)
tree0e04e1c1fc5b0c32407c46ade6548c49e10b42c3 /fs/btrfs
parent776e4aae5508848730a82b4695edfbd7bc802c33 (diff)
downloadlinux-59885b39303edc0b3284f324a1ca42cb6e7742d0.tar.xz
Btrfs: fix possible memory leak in btrfs_create_tree()
In btrfs_create_tree(), if btrfs_insert_root() fails, we should free root->commit_root. Reported-by: Alex Lyakas <alex@zadarastorage.com> Signed-off-by: Tsutomu Itoh <t-itoh@jp.fujitsu.com> Signed-off-by: Chris Mason <clm@fb.com>
Diffstat (limited to 'fs/btrfs')
-rw-r--r--fs/btrfs/disk-io.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index cf8427a7a615..d3bd34e434f6 100644
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@ -1366,6 +1366,7 @@ struct btrfs_root *btrfs_create_tree(struct btrfs_trans_handle *trans,
fail:
if (leaf) {
btrfs_tree_unlock(leaf);
+ free_extent_buffer(root->commit_root);
free_extent_buffer(leaf);
}
kfree(root);