|
@@ -2522,7 +2522,6 @@ static void nfs4_xdr_enc_getacl(struct rpc_rqst *req, struct xdr_stream *xdr,
|
|
|
|
|
|
xdr_inline_pages(&req->rq_rcv_buf, replen << 2,
|
|
xdr_inline_pages(&req->rq_rcv_buf, replen << 2,
|
|
args->acl_pages, args->acl_pgbase, args->acl_len);
|
|
args->acl_pages, args->acl_pgbase, args->acl_len);
|
|
- xdr_set_scratch_buffer(xdr, page_address(args->acl_scratch), PAGE_SIZE);
|
|
|
|
|
|
|
|
encode_nops(&hdr);
|
|
encode_nops(&hdr);
|
|
}
|
|
}
|
|
@@ -6032,6 +6031,10 @@ nfs4_xdr_dec_getacl(struct rpc_rqst *rqstp, struct xdr_stream *xdr,
|
|
struct compound_hdr hdr;
|
|
struct compound_hdr hdr;
|
|
int status;
|
|
int status;
|
|
|
|
|
|
|
|
+ if (res->acl_scratch != NULL) {
|
|
|
|
+ void *p = page_address(res->acl_scratch);
|
|
|
|
+ xdr_set_scratch_buffer(xdr, p, PAGE_SIZE);
|
|
|
|
+ }
|
|
status = decode_compound_hdr(xdr, &hdr);
|
|
status = decode_compound_hdr(xdr, &hdr);
|
|
if (status)
|
|
if (status)
|
|
goto out;
|
|
goto out;
|