Btrfs: Fix memory leak on finding existing super
authorIan Kent <raven@themaw.net>
Mon, 27 Dec 2010 08:33:15 +0000 (16:33 +0800)
committerLi Zefan <lizf@cn.fujitsu.com>
Wed, 26 Jan 2011 17:05:07 +0000 (01:05 +0800)
We missed a memory deallocation in commit 450ba0ea.

If an existing super block is found at mount and there is no
error condition then the pre-allocated tree_root and fs_info
are no not used and are not freeded.

Signed-off-by: Ian Kent <raven@themaw.net>
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
fs/btrfs/super.c

index 61bd79abb805a29d2c9b7c0527bc2860c84c6b37..f50253c2279deed1bb89f1c5576d85080c61b7fb 100644 (file)
@@ -654,6 +654,8 @@ static int btrfs_get_sb(struct file_system_type *fs_type, int flags,
                }
 
                btrfs_close_devices(fs_devices);
+               kfree(fs_info);
+               kfree(tree_root);
        } else {
                char b[BDEVNAME_SIZE];