diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2007-06-09 15:41:42 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2007-07-10 23:40:33 -0400 |
commit | 3ab9bb7243489f9db3abf3d05521ddfc6b184c0a (patch) | |
tree | 05476c58c87c5578354ab8a3befcb7316c9ef9bc /net/sunrpc/auth_unix.c | |
parent | 03a1256f06cf1f58e33971fb4a524479e75c200e (diff) |
SUNRPC: Fix a memory leak in the auth credcache code
The leak only affects the RPCSEC_GSS caches, since they are the only ones
that are dynamically allocated...
Rename the existing rpcauth_free_credcache() to rpcauth_clear_credcache()
in order to better describe its role, then add a new function
rpcauth_destroy_credcache() that actually frees the cache in addition to
clearing it out.
Also move the call to destroy the credcache in gss_destroy() to come before
the rpc upcall pipe is unlinked.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'net/sunrpc/auth_unix.c')
-rw-r--r-- | net/sunrpc/auth_unix.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/sunrpc/auth_unix.c b/net/sunrpc/auth_unix.c index 82300b83045e..5622783011a4 100644 --- a/net/sunrpc/auth_unix.c +++ b/net/sunrpc/auth_unix.c | |||
@@ -50,7 +50,7 @@ static void | |||
50 | unx_destroy(struct rpc_auth *auth) | 50 | unx_destroy(struct rpc_auth *auth) |
51 | { | 51 | { |
52 | dprintk("RPC: destroying UNIX authenticator %p\n", auth); | 52 | dprintk("RPC: destroying UNIX authenticator %p\n", auth); |
53 | rpcauth_free_credcache(auth); | 53 | rpcauth_clear_credcache(auth->au_credcache); |
54 | } | 54 | } |
55 | 55 | ||
56 | /* | 56 | /* |