summaryrefslogtreecommitdiffstats
path: root/fs/9p
diff options
context:
space:
mode:
authorAdrian Bunk <bunk@stusta.de>2007-02-08 14:20:38 -0800
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-02-09 09:25:47 -0800
commit835d90c4218dffe6f9e7ac1ed79795197a4970c4 (patch)
tree4802f76f7cf874ff23cd4b33e733903d1f1b0127 /fs/9p
parentda6e1a32fb8d7539a27f699c8671f64d7fefd0cc (diff)
downloadlinux-835d90c4218dffe6f9e7ac1ed79795197a4970c4.tar.gz
linux-835d90c4218dffe6f9e7ac1ed79795197a4970c4.tar.bz2
linux-835d90c4218dffe6f9e7ac1ed79795197a4970c4.zip
[PATCH] v9fs_vfs_mkdir(): fix a double free
Fix a double free of "dfid" introduced by commit da977b2c7eb4d6312f063a7b486f2aad99809710 and spotted by the Coverity checker. Signed-off-by: Adrian Bunk <bunk@stusta.de> Cc: Eric Van Hensbergen <ericvh@gmail.com> Cc: <stable@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/9p')
-rw-r--r--fs/9p/vfs_inode.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/fs/9p/vfs_inode.c b/fs/9p/vfs_inode.c
index 9109ba1d6969..378767c07bf1 100644
--- a/fs/9p/vfs_inode.c
+++ b/fs/9p/vfs_inode.c
@@ -585,17 +585,14 @@ static int v9fs_vfs_mkdir(struct inode *dir, struct dentry *dentry, int mode)
if (IS_ERR(inode)) {
err = PTR_ERR(inode);
inode = NULL;
- goto clean_up_fids;
+ v9fs_fid_destroy(vfid);
+ goto error;
}
dentry->d_op = &v9fs_dentry_operations;
d_instantiate(dentry, inode);
return 0;
-clean_up_fids:
- if (vfid)
- v9fs_fid_destroy(vfid);
-
clean_up_dfid:
v9fs_fid_clunk(v9ses, dfid);