diff options
author | Chuck Lever <chuck.lever@oracle.com> | 2014-11-08 20:15:18 -0500 |
---|---|---|
committer | Anna Schumaker <Anna.Schumaker@Netapp.com> | 2014-11-25 16:22:16 -0500 |
commit | 6dd3436b9dc0df4b9ae7bb4e0076996a5ffda219 (patch) | |
tree | b01d1040b665452f8036cee5dc45bccf09fbc04b /fs/nfs/nfs4client.c | |
parent | edef1297f33a4546559d905457b435a5ea160bab (diff) | |
download | linux-6dd3436b9dc0df4b9ae7bb4e0076996a5ffda219.tar.bz2 |
NFS: SETCLIENTID XDR buffer sizes are incorrect
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: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Diffstat (limited to 'fs/nfs/nfs4client.c')
0 files changed, 0 insertions, 0 deletions