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 5573508f707f..36fcabbf5186 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) | |||
| 34 | int flags = nfsexp_flags(rqstp, exp); | 34 | int flags = nfsexp_flags(rqstp, exp); |
| 35 | int ret; | 35 | int ret; |
| 36 | 36 | ||
| 37 | validate_process_creds(); | ||
| 38 | |||
| 37 | /* discard any old override before preparing the new set */ | 39 | /* discard any old override before preparing the new set */ |
| 38 | revert_creds(get_cred(current->real_cred)); | 40 | revert_creds(get_cred(current->real_cred)); |
| 39 | new = prepare_creds(); | 41 | new = prepare_creds(); |
| @@ -86,8 +88,10 @@ int nfsd_setuser(struct svc_rqst *rqstp, struct svc_export *exp) | |||
| 86 | else | 88 | else |
| 87 | new->cap_effective = cap_raise_nfsd_set(new->cap_effective, | 89 | new->cap_effective = cap_raise_nfsd_set(new->cap_effective, |
| 88 | new->cap_permitted); | 90 | new->cap_permitted); |
| 91 | validate_process_creds(); | ||
| 89 | put_cred(override_creds(new)); | 92 | put_cred(override_creds(new)); |
| 90 | put_cred(new); | 93 | put_cred(new); |
| 94 | validate_process_creds(); | ||
| 91 | return 0; | 95 | return 0; |
| 92 | 96 | ||
| 93 | oom: | 97 | oom: |
