diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2006-03-20 13:44:09 -0500 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2006-03-20 13:44:09 -0500 |
commit | 12de3b35ea549c5819f287508d7afab0bf3ac44d (patch) | |
tree | c1b7f96236c4b19bcd911705017bf31bcbc2b605 /net/sunrpc/auth_gss | |
parent | 24c5d9d7ea5a64fb5f157d17aa2c67a3300f8a08 (diff) |
SUNRPC: Ensure that rpc_mkpipe returns a refcounted dentry
If not, we cannot guarantee that idmap->idmap_dentry, gss_auth->dentry and
clnt->cl_dentry are valid dentries.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'net/sunrpc/auth_gss')
-rw-r--r-- | net/sunrpc/auth_gss/auth_gss.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/sunrpc/auth_gss/auth_gss.c b/net/sunrpc/auth_gss/auth_gss.c index bb46efd92e57..900ef31f5a0e 100644 --- a/net/sunrpc/auth_gss/auth_gss.c +++ b/net/sunrpc/auth_gss/auth_gss.c | |||
@@ -721,6 +721,8 @@ gss_destroy(struct rpc_auth *auth) | |||
721 | 721 | ||
722 | gss_auth = container_of(auth, struct gss_auth, rpc_auth); | 722 | gss_auth = container_of(auth, struct gss_auth, rpc_auth); |
723 | rpc_unlink(gss_auth->path); | 723 | rpc_unlink(gss_auth->path); |
724 | dput(gss_auth->dentry); | ||
725 | gss_auth->dentry = NULL; | ||
724 | gss_mech_put(gss_auth->mech); | 726 | gss_mech_put(gss_auth->mech); |
725 | 727 | ||
726 | rpcauth_free_credcache(auth); | 728 | rpcauth_free_credcache(auth); |