From: J. Bruce Fields Date: Wed, 21 Jan 2009 00:34:22 +0000 (-0500) Subject: nfsd: fix cred leak on every rpc X-Git-Tag: v2.6.29-rc3~7^2~1 X-Git-Url: http://www.pilppa.org/gitweb/gitweb.cgi?p=linux-2.6-omap-h63xx.git;a=commitdiff_plain;h=b914152a6fbd2cd0441bc293ae8b3f3f1a9407b6 nfsd: fix cred leak on every rpc Since override_creds() took its own reference on new, we need to release our own reference. (Note the put_cred on the return value puts the *old* value of current->creds, not the new passed-in value). Signed-off-by: J. Bruce Fields --- diff --git a/fs/nfsd/auth.c b/fs/nfsd/auth.c index b860d3484cd..5573508f707 100644 --- a/fs/nfsd/auth.c +++ b/fs/nfsd/auth.c @@ -87,6 +87,7 @@ int nfsd_setuser(struct svc_rqst *rqstp, struct svc_export *exp) new->cap_effective = cap_raise_nfsd_set(new->cap_effective, new->cap_permitted); put_cred(override_creds(new)); + put_cred(new); return 0; oom: