diff options
Diffstat (limited to 'fs/nfsd/auth.c')
| -rw-r--r-- | fs/nfsd/auth.c | 4 | 
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/nfsd/auth.c b/fs/nfsd/auth.c index 5573508f707..36fcabbf518 100644 --- a/fs/nfsd/auth.c +++ b/fs/nfsd/auth.c @@ -34,6 +34,8 @@ int nfsd_setuser(struct svc_rqst *rqstp, struct svc_export *exp)  	int flags = nfsexp_flags(rqstp, exp);  	int ret; +	validate_process_creds(); +  	/* discard any old override before preparing the new set */  	revert_creds(get_cred(current->real_cred));  	new = prepare_creds(); @@ -86,8 +88,10 @@ int nfsd_setuser(struct svc_rqst *rqstp, struct svc_export *exp)  	else  		new->cap_effective = cap_raise_nfsd_set(new->cap_effective,  							new->cap_permitted); +	validate_process_creds();  	put_cred(override_creds(new));  	put_cred(new); +	validate_process_creds();  	return 0;  oom:  |