9p: fix memory leak in v9fs_get_sb
authorLatchesar Ionkov <lucho@ionkov.net>
Tue, 6 Nov 2007 14:02:53 +0000 (08:02 -0600)
committerEric Van Hensbergen <ericvh@gmail.com>
Tue, 6 Nov 2007 14:02:53 +0000 (08:02 -0600)
This patch fixes a memory leak in v9fs_get_sb.

Signed-off-by: Latchesar Ionkov <lucho@ionkov.net>
Acked-by: Eric Van Hensbergen <ericvh@gmail.com>
fs/9p/vfs_super.c

index bb0cef9a6b8aced66b67d583d7a907c3742045b6..678c02f1ae231306b8f2062ef6925bb69a4a6b71 100644 (file)
@@ -119,6 +119,7 @@ static int v9fs_get_sb(struct file_system_type *fs_type, int flags,
 
        P9_DPRINTK(P9_DEBUG_VFS, " \n");
 
+       st = NULL;
        v9ses = kzalloc(sizeof(struct v9fs_session_info), GFP_KERNEL);
        if (!v9ses)
                return -ENOMEM;
@@ -164,10 +165,12 @@ static int v9fs_get_sb(struct file_system_type *fs_type, int flags,
        root->d_inode->i_ino = v9fs_qid2ino(&st->qid);
        v9fs_stat2inode(st, root->d_inode, sb);
        v9fs_fid_add(root, fid);
+       kfree(st);
 
        return simple_set_mnt(mnt, sb);
 
 error:
+       kfree(st);
        if (fid)
                p9_client_clunk(fid);