fs/9p: Add missing iput in v9fs_vfs_lookup
authorAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Wed, 22 Sep 2010 06:54:23 +0000 (12:24 +0530)
committerEric Van Hensbergen <ericvh@gmail.com>
Thu, 28 Oct 2010 14:08:48 +0000 (09:08 -0500)
Make sure we drop inode reference in the error path

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Venkateswararao Jujjuri <jvrao@linux.vnet.ibm.com>
Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
fs/9p/vfs_inode.c

index 8f68280d752e2e49b0c1ae366937f56274072022..a69986c80328a542623e61b7f438cffee012afdb 100644 (file)
@@ -1037,7 +1037,7 @@ static struct dentry *v9fs_vfs_lookup(struct inode *dir, struct dentry *dentry,
 
        result = v9fs_fid_add(dentry, fid);
        if (result < 0)
-               goto error;
+               goto error_iput;
 
 inst_out:
        if (v9ses->cache)
@@ -1048,6 +1048,8 @@ inst_out:
        d_add(dentry, inode);
        return NULL;
 
+error_iput:
+       iput(inode);
 error:
        p9_client_clunk(fid);