NFS: Don't leak RPC clients in NFSv4 secinfo negotiation
authorTrond Myklebust <Trond.Myklebust@netapp.com>
Sat, 26 Mar 2011 06:24:35 +0000 (02:24 -0400)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Sun, 27 Mar 2011 15:48:17 +0000 (17:48 +0200)
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
fs/nfs/namespace.c

index ad92bf731ff570a560919ef4eb22b3eb50f0027e..9166fcb66da219f4b9d2a8dc4445b5b945627b16 100644 (file)
@@ -192,13 +192,15 @@ static rpc_authflavor_t nfs_lookup_with_sec(struct nfs_server *server, struct de
        auth   = rpcauth_create(flavor, clone);
        if (!auth) {
                flavor = -EIO;
-               goto out;
+               goto out_shutdown;
        }
        err = server->nfs_client->rpc_ops->lookup(clone, parent->d_inode,
                                                  &path->dentry->d_name,
                                                  fh, fattr);
        if (err < 0)
                flavor = err;
+out_shutdown:
+       rpc_shutdown_client(clone);
 out:
        return flavor;
 }