nfsd4: allow fh_verify caller to skip pseudoflavor checks
J. Bruce Fields [Fri, 8 Apr 2011 20:32:54 +0000 (16:32 -0400)]
Signed-off-by: J. Bruce Fields <bfields@redhat.com>

fs/nfsd/nfsfh.c
fs/nfsd/vfs.h

index 55c8e63..90c6aa6 100644 (file)
@@ -344,7 +344,7 @@ fh_verify(struct svc_rqst *rqstp, struct svc_fh *fhp, int type, int access)
         * which clients virtually always use auth_sys for,
         * even while using RPCSEC_GSS for NFS.
         */
-       if (access & NFSD_MAY_LOCK)
+       if (access & NFSD_MAY_LOCK || access & NFSD_MAY_BYPASS_GSS)
                goto skip_pseudoflavor_check;
        /*
         * Clients may expect to be able to use auth_sys during mount,
index 1036913..4d2509f 100644 (file)
@@ -24,6 +24,7 @@
 #define NFSD_MAY_LOCAL_ACCESS  128 /* IRIX doing local access check on device special file*/
 #define NFSD_MAY_BYPASS_GSS_ON_ROOT 256
 #define NFSD_MAY_NOT_BREAK_LEASE 512
+#define NFSD_MAY_BYPASS_GSS    1024
 
 #define NFSD_MAY_CREATE                (NFSD_MAY_EXEC|NFSD_MAY_WRITE)
 #define NFSD_MAY_REMOVE                (NFSD_MAY_EXEC|NFSD_MAY_WRITE|NFSD_MAY_TRUNC)