aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJ. Bruce Fields <bfields@citi.umich.edu>2007-07-17 07:04:52 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-07-17 13:23:08 -0400
commit9091224f3cff4721f295df29e8a99705a63bc4c7 (patch)
treea3fdc31dc0697003029a06b8088a8a81f54e41c4
parent4796f45740bc6f2e3e6cc14e7ed481b38bd0bd39 (diff)
knfsd: nfsd: allow auth_sys nlm on rpcsec_gss exports
Our clients (like other clients, as far as I know) use only auth_sys for nlm, even when using rpcsec_gss for the main nfs operations. Administrators that want to deny non-kerberos-authenticated locking requests will need to turn off NFS protocol versions less than 4.... Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--fs/nfsd/nfsfh.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/fs/nfsd/nfsfh.c b/fs/nfsd/nfsfh.c
index 8d2b49914843..0eb464a39aae 100644
--- a/fs/nfsd/nfsfh.c
+++ b/fs/nfsd/nfsfh.c
@@ -249,10 +249,16 @@ fh_verify(struct svc_rqst *rqstp, struct svc_fh *fhp, int type, int access)
249 if (error) 249 if (error)
250 goto out; 250 goto out;
251 251
252 /* Check security flavor */ 252 if (!(access & MAY_LOCK)) {
253 error = check_nfsd_access(exp, rqstp); 253 /*
254 if (error) 254 * pseudoflavor restrictions are not enforced on NLM,
255 goto out; 255 * which clients virtually always use auth_sys for,
256 * even while using RPCSEC_GSS for NFS.
257 */
258 error = check_nfsd_access(exp, rqstp);
259 if (error)
260 goto out;
261 }
256 262
257 /* Finally, check access permissions. */ 263 /* Finally, check access permissions. */
258 error = nfsd_permission(rqstp, exp, dentry, access); 264 error = nfsd_permission(rqstp, exp, dentry, access);