diff options
| author | NeilBrown <neilb@suse.de> | 2009-08-04 15:22:39 +1000 | 
|---|---|---|
| committer | J. Bruce Fields <bfields@citi.umich.edu> | 2009-08-04 16:52:44 -0400 | 
| commit | 560ab42ef923aaf2e4347315bdfcc74b2708972c (patch) | |
| tree | e785cd1ff69276bbeb653311fc67f5472f8b90d3 /net/sunrpc/svcauth_unix.c | |
| parent | 989a19b9b10635eeb91c08cefe6cf82986bd4ee2 (diff) | |
| download | olio-linux-3.10-560ab42ef923aaf2e4347315bdfcc74b2708972c.tar.xz olio-linux-3.10-560ab42ef923aaf2e4347315bdfcc74b2708972c.zip  | |
sunrpc: fix memory leak in unix_gid cache.
When we look up an entry in the uid->gidlist cache, we take
a reference to the content but don't drop the reference to the
cache entry.  So it never gets freed.
Signed-off-by: NeilBrown <neilb@suse.de>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Diffstat (limited to 'net/sunrpc/svcauth_unix.c')
| -rw-r--r-- | net/sunrpc/svcauth_unix.c | 1 | 
1 files changed, 1 insertions, 0 deletions
diff --git a/net/sunrpc/svcauth_unix.c b/net/sunrpc/svcauth_unix.c index 5c865e2d299..799ff6ef28b 100644 --- a/net/sunrpc/svcauth_unix.c +++ b/net/sunrpc/svcauth_unix.c @@ -658,6 +658,7 @@ static int unix_gid_find(uid_t uid, struct group_info **gip,  	case 0:  		*gip = ug->gi;  		get_group_info(*gip); +		cache_put(&ug->h, &unix_gid_cache);  		return 0;  	default:  		return -EAGAIN;  |