sunrpc: fix memory leak in unix_gid cache.
NeilBrown [Tue, 4 Aug 2009 05:22:39 +0000 (15:22 +1000)]
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>

net/sunrpc/svcauth_unix.c

index 5c865e2..799ff6e 100644 (file)
@@ -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;