aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs
diff options
context:
space:
mode:
authorTsutomu Itoh <t-itoh@jp.fujitsu.com>2014-04-08 20:18:04 -0400
committerChris Mason <clm@fb.com>2014-06-09 20:20:42 -0400
commit59885b39303edc0b3284f324a1ca42cb6e7742d0 (patch)
tree0e04e1c1fc5b0c32407c46ade6548c49e10b42c3 /fs/btrfs
parent776e4aae5508848730a82b4695edfbd7bc802c33 (diff)
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,
1366fail: 1366fail:
1367 if (leaf) { 1367 if (leaf) {
1368 btrfs_tree_unlock(leaf); 1368 btrfs_tree_unlock(leaf);
1369 free_extent_buffer(root->commit_root);
1369 free_extent_buffer(leaf); 1370 free_extent_buffer(leaf);
1370 } 1371 }
1371 kfree(root); 1372 kfree(root);