aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoseph Qi <joseph.qi@huawei.com>2014-09-25 19:05:11 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2014-09-26 11:10:34 -0400
commitf13a568e5a787f3980f3bd00ba9dd0b78a734129 (patch)
treef3d242b4397a3103d8e01cb26dbf59aafe8d86c4
parent005f800508eb391480f463dad3d54e5b4ec67d57 (diff)
ocfs2: free vol_label in ocfs2_delete_osb()
osb->vol_label is malloced in ocfs2_initialize_super but not freed if error occurs or during umount, thus causing a memory leak. Signed-off-by: Joseph Qi <joseph.qi@huawei.com> Reviewed-by: joyce.xue <xuejiufei@huawei.com> Cc: Mark Fasheh <mfasheh@suse.com> Cc: Joel Becker <jlbec@evilplan.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--fs/ocfs2/super.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/ocfs2/super.c b/fs/ocfs2/super.c
index ddb662b32447..4142546aedae 100644
--- a/fs/ocfs2/super.c
+++ b/fs/ocfs2/super.c
@@ -2532,6 +2532,7 @@ static void ocfs2_delete_osb(struct ocfs2_super *osb)
2532 kfree(osb->journal); 2532 kfree(osb->journal);
2533 kfree(osb->local_alloc_copy); 2533 kfree(osb->local_alloc_copy);
2534 kfree(osb->uuid_str); 2534 kfree(osb->uuid_str);
2535 kfree(osb->vol_label);
2535 ocfs2_put_dlm_debug(osb->osb_dlm_debug); 2536 ocfs2_put_dlm_debug(osb->osb_dlm_debug);
2536 memset(osb, 0, sizeof(struct ocfs2_super)); 2537 memset(osb, 0, sizeof(struct ocfs2_super));
2537} 2538}