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 <bfields@citi.umich.edu>
This commit is contained in:
parent
bf935a7881
commit
b914152a6f
|
@ -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_effective = cap_raise_nfsd_set(new->cap_effective,
|
||||||
new->cap_permitted);
|
new->cap_permitted);
|
||||||
put_cred(override_creds(new));
|
put_cred(override_creds(new));
|
||||||
|
put_cred(new);
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
oom:
|
oom:
|
||||||
|
|
Loading…
Reference in New Issue