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

Signed-off-by: Adrian Bunk <[EMAIL PROTECTED]>

--- 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 [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to