aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2009-08-04 01:22:39 -0400
committerJ. Bruce Fields <bfields@citi.umich.edu>2009-08-04 16:52:44 -0400
commit560ab42ef923aaf2e4347315bdfcc74b2708972c (patch)
treee785cd1ff69276bbeb653311fc67f5472f8b90d3
parent989a19b9b10635eeb91c08cefe6cf82986bd4ee2 (diff)
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>
-rw-r--r--net/sunrpc/svcauth_unix.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/sunrpc/svcauth_unix.c b/net/sunrpc/svcauth_unix.c
index 5c865e2d299e..799ff6ef28b8 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,
658 case 0: 658 case 0:
659 *gip = ug->gi; 659 *gip = ug->gi;
660 get_group_info(*gip); 660 get_group_info(*gip);
661 cache_put(&ug->h, &unix_gid_cache);
661 return 0; 662 return 0;
662 default: 663 default:
663 return -EAGAIN; 664 return -EAGAIN;