summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLatchesar Ionkov <lucho@ionkov.net>2007-11-06 08:02:53 -0600
committerEric Van Hensbergen <ericvh@gmail.com>2007-11-06 08:02:53 -0600
commitdda6b022f3222f09d3fb49f5dfabd31d33e0d10b (patch)
treede3ea647f9fb82cefea38b6e8d10d828044656dc
parent2655e2cee2d77459fcb7e10228259e4ee0328697 (diff)
downloadlinux-stable-dda6b022f3222f09d3fb49f5dfabd31d33e0d10b.tar.gz
linux-stable-dda6b022f3222f09d3fb49f5dfabd31d33e0d10b.tar.bz2
linux-stable-dda6b022f3222f09d3fb49f5dfabd31d33e0d10b.zip
9p: fix memory leak in v9fs_get_sb
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>
-rw-r--r--fs/9p/vfs_super.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/9p/vfs_super.c b/fs/9p/vfs_super.c
index bb0cef9a6b8a..678c02f1ae23 100644
--- a/fs/9p/vfs_super.c
+++ b/fs/9p/vfs_super.c
@@ -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);