[2.6.20 patch] v9fs_vfs_mkdir(): fix a double free

From: Adrian Bunk
Date: Fri Feb 02 2007 - 11:56:30 EST


This patch fixes a double free of "dfid" introduced by
commit da977b2c7eb4d6312f063a7b486f2aad99809710 and spotted by the
Coverity checker.

Signed-off-by: Adrian Bunk <bunk@xxxxxxxxx>

--- linux-2.6.20-rc6-mm3/fs/9p/vfs_inode.c.old 2007-02-02 17:11:10.000000000 +0100
+++ linux-2.6.20-rc6-mm3/fs/9p/vfs_inode.c 2007-02-02 17:39:12.000000000 +0100
@@ -583,21 +583,18 @@ static int v9fs_vfs_mkdir(struct inode *
v9fs_fid_clunk(v9ses, dfid);
inode = v9fs_inode_from_fid(v9ses, vfid->fid, dir->i_sb);
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);

error:
return err;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/