mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-29 22:02:02 +00:00
NFSD: change LISTXATTRS cookie encoding to big-endian
Function nfsd4_listxattr_validate_cookie() expects the cookie
as an offset to the list thus it needs to be encoded in big-endian.
Fixes: 23e50fe3a5
("nfsd: implement the xattr functions and en/decode logic")
Signed-off-by: Jorge Mora <mora@netapp.com>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
This commit is contained in:
parent
52a357db80
commit
61ab5e0758
1 changed files with 3 additions and 1 deletions
|
@ -5407,6 +5407,7 @@ nfsd4_encode_listxattrs(struct nfsd4_compoundres *resp, __be32 nfserr,
|
|||
u64 cookie;
|
||||
char *sp;
|
||||
__be32 status, tmp;
|
||||
__be64 wire_cookie;
|
||||
__be32 *p;
|
||||
u32 nuser;
|
||||
|
||||
|
@ -5498,7 +5499,8 @@ nfsd4_encode_listxattrs(struct nfsd4_compoundres *resp, __be32 nfserr,
|
|||
|
||||
cookie = offset + count;
|
||||
|
||||
write_bytes_to_xdr_buf(xdr->buf, cookie_offset, &cookie, 8);
|
||||
wire_cookie = cpu_to_be64(cookie);
|
||||
write_bytes_to_xdr_buf(xdr->buf, cookie_offset, &wire_cookie, 8);
|
||||
tmp = cpu_to_be32(count);
|
||||
write_bytes_to_xdr_buf(xdr->buf, count_offset, &tmp, 4);
|
||||
out:
|
||||
|
|
Loading…
Reference in a new issue