diff options
author | J. Bruce Fields <bfields@redhat.com> | 2017-09-05 15:11:47 -0400 |
---|---|---|
committer | J. Bruce Fields <bfields@redhat.com> | 2017-09-05 15:11:47 -0400 |
commit | 0828170f3d6a9d86d2cf5bcd00f1b1ff99f0c15e (patch) | |
tree | 30236ae805486596c7a53c388931f3626aa97e2b /fs | |
parent | 7075a867ce5748007b299bd28f12754cd51719d4 (diff) | |
parent | eebe53e87f97975ee58a21693e44797608bf679c (diff) | |
download | linux-0828170f3d6a9d86d2cf5bcd00f1b1ff99f0c15e.tar.bz2 |
merge nfsd 4.13 bugfixes into nfsd for-4.14 branch
Diffstat (limited to 'fs')
-rw-r--r-- | fs/nfsd/nfs4xdr.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/fs/nfsd/nfs4xdr.c b/fs/nfsd/nfs4xdr.c index 0c3b935d100f..08691fe394b2 100644 --- a/fs/nfsd/nfs4xdr.c +++ b/fs/nfsd/nfs4xdr.c @@ -144,7 +144,7 @@ static void next_decode_page(struct nfsd4_compoundargs *argp) argp->p = page_address(argp->pagelist[0]); argp->pagelist++; if (argp->pagelen < PAGE_SIZE) { - argp->end = argp->p + (argp->pagelen>>2); + argp->end = argp->p + XDR_QUADLEN(argp->pagelen); argp->pagelen = 0; } else { argp->end = argp->p + (PAGE_SIZE>>2); @@ -1279,9 +1279,7 @@ nfsd4_decode_write(struct nfsd4_compoundargs *argp, struct nfsd4_write *write) argp->pagelen -= pages * PAGE_SIZE; len -= pages * PAGE_SIZE; - argp->p = (__be32 *)page_address(argp->pagelist[0]); - argp->pagelist++; - argp->end = argp->p + XDR_QUADLEN(PAGE_SIZE); + next_decode_page(argp); } argp->p += XDR_QUADLEN(len); |