summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYoshinori Sano <yoshinori.sano@gmail.com>2011-04-03 12:31:28 +0000
committerChris Mason <chris.mason@oracle.com>2011-04-05 01:19:43 -0400
commit6e8df2ae89ab37730c0062782f844c66ecfc97a7 (patch)
tree4172619b01d817440d43807da8baec77a14d39d2
parent8b2b2d3cbefb605501342adaf64d601b545ed154 (diff)
Btrfs: fix memory leak in start_transaction()
Free btrfs_trans_handle when join_transaction() fails in start_transaction() Signed-off-by: Yoshinori Sano <yoshinori.sano@gmail.com> Signed-off-by: Chris Mason <chris.mason@oracle.com>
-rw-r--r--fs/btrfs/transaction.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/btrfs/transaction.c b/fs/btrfs/transaction.c
index ce48eb59d615..d01cc249a8d3 100644
--- a/fs/btrfs/transaction.c
+++ b/fs/btrfs/transaction.c
@@ -197,6 +197,7 @@ again:
ret = join_transaction(root);
if (ret < 0) {
+ kmem_cache_free(btrfs_trans_handle_cachep, h);
if (type != TRANS_JOIN_NOLOCK)
mutex_unlock(&root->fs_info->trans_mutex);
return ERR_PTR(ret);