summaryrefslogtreecommitdiffstats
path: root/fs/nfs/nfs4xdr.c
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2012-03-03 21:04:15 +0100
committerTrond Myklebust <Trond.Myklebust@netapp.com>2012-03-03 21:05:56 +0100
commit8aa0a410af8011d557877e558f9ff17c082c6840 (patch)
treee347920bcaba78f6af0fecc626c1842f85aeeb83 /fs/nfs/nfs4xdr.c
parentNFS: Reduce debugging noise from encode_compound_hdr (diff)
parentNFSv4: fix server_scope memory leak (diff)
downloadlinux-8aa0a410af8011d557877e558f9ff17c082c6840.tar.xz
linux-8aa0a410af8011d557877e558f9ff17c082c6840.zip
Merge commit 'nfs-for-3.3-4' into nfs-for-next
Conflicts: fs/nfs/nfs4proc.c Back-merge of the upstream kernel in order to fix a conflict with the slotid type conversion and implementation id patches...
Diffstat (limited to 'fs/nfs/nfs4xdr.c')
-rw-r--r--fs/nfs/nfs4xdr.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/fs/nfs/nfs4xdr.c b/fs/nfs/nfs4xdr.c
index 7d3ba1ff787c..bca8c77e5fe0 100644
--- a/fs/nfs/nfs4xdr.c
+++ b/fs/nfs/nfs4xdr.c
@@ -2563,7 +2563,6 @@ static void nfs4_xdr_enc_getacl(struct rpc_rqst *req, struct xdr_stream *xdr,
xdr_inline_pages(&req->rq_rcv_buf, replen << 2,
args->acl_pages, args->acl_pgbase, args->acl_len);
- xdr_set_scratch_buffer(xdr, page_address(args->acl_scratch), PAGE_SIZE);
encode_nops(&hdr);
}
@@ -6132,6 +6131,10 @@ nfs4_xdr_dec_getacl(struct rpc_rqst *rqstp, struct xdr_stream *xdr,
struct compound_hdr hdr;
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);
if (status)
goto out;