• J. Bruce Fields's avatar
    nfsd: catch errors in decode_fattr earlier · e864c189
    J. Bruce Fields authored
    3c8e0316 "NFSv4: do exact check about attribute specified" fixed
    some handling of unsupported-attribute errors, but it also delayed
    checking for unwriteable attributes till after we decode them.  This
    could lead to odd behavior in the case a client attemps to set an
    attribute we don't know about followed by one we try to parse.  In that
    case the parser for the known attribute will attempt to parse the
    unknown attribute.  It should fail in some safe way, but the error might
    at least be incorrect (probably bad_xdr instead of inval).  So, it's
    better to do that check at the start.
    
    As far as I know this doesn't cause any problems with current clients
    but it might be a minor issue e.g. if we encounter a future client that
    supports a new attribute that we currently don't.
    
    Cc: Yu Zhiguo <yuzg@cn.fujitsu.com>
    Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
    e864c189
nfsd.h 16.6 KB