Skip to content
  • Rick Macklem's avatar
    nfsd: Fix the failure return for non-fh NFSv4 operations · 984c71f9
    Rick Macklem authored
    Without this patch, nfsd_checkrootexp() returns failure
    and then the NFSv4 operation would reply NFSERR_WRONGSEC.
    RFC5661 Sec. 2.6 only allows a few NFSv4 operations, none
    of which call nfsv4_checktootexp(), to return NFSERR_WRONGSEC.
    This patch modifies nfsd_checkrootexp() to return the
    error instead of a boolean and sets the returned error to an RPC
    layer AUTH_ERR, as discussed on nfsv4@ietf.org.
    The patch also fixes nfsd_errmap() so that the pseudo
    error NFSERR_AUTHERR is handled correctly such that an RPC layer
    AUTH_ERR is replied to the NFSv4 client.
    
    The two new "enum auth_stat" values have not yet been assigned
    by IANA, but are the expected next two values.
    
    The effect on extant NFSv4 clients of this change appears
    limited to reporting a different failure error when a
    mount that does not use adequate security is attempted.
    
    MFC after:	2 weeks
    984c71f9