• C
    NFS: SETCLIENTID XDR buffer sizes are incorrect · 6dd3436b
    Chuck Lever 提交于
    Use the correct calculation of the maximum size of a clientaddr4
    when encoding and decoding SETCLIENTID operations. clientaddr4 is
    defined in section 2.2.10 of RFC3530bis-31.
    
    The usage in encode_setclientid_maxsz is missing the 4-byte length
    in both strings, but is otherwise correct. decode_setclientid_maxsz
    simply asks for a page of receive buffer space, which is
    unnecessarily large (more than 4KB).
    
    Note that a SETCLIENTID reply is either clientid+verifier, or
    clientaddr4, depending on the returned NFS status. It doesn't
    hurt to allocate enough space for both.
    Signed-off-by: NChuck Lever <chuck.lever@oracle.com>
    Signed-off-by: NAnna Schumaker <Anna.Schumaker@Netapp.com>
    6dd3436b
nfs4xdr.c 192.8 KB