NFSD: Replace READ* macros in nfsd4_decode_putfh()

[ Upstream commit a73bed98413b1d9eb4466f776a56d2fde8b3b2c9 ]

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Chuck Lever 2020-11-03 14:23:02 -05:00 committed by Ksawlii
parent 0ff3b1afe5
commit e1de828f20

View file

@ -1190,16 +1190,21 @@ nfsd4_decode_open_downgrade(struct nfsd4_compoundargs *argp, struct nfsd4_open_d
static __be32
nfsd4_decode_putfh(struct nfsd4_compoundargs *argp, struct nfsd4_putfh *putfh)
{
DECODE_HEAD;
__be32 *p;
READ_BUF(4);
putfh->pf_fhlen = be32_to_cpup(p++);
if (xdr_stream_decode_u32(argp->xdr, &putfh->pf_fhlen) < 0)
return nfserr_bad_xdr;
if (putfh->pf_fhlen > NFS4_FHSIZE)
goto xdr_error;
READ_BUF(putfh->pf_fhlen);
SAVEMEM(putfh->pf_fhval, putfh->pf_fhlen);
return nfserr_bad_xdr;
p = xdr_inline_decode(argp->xdr, putfh->pf_fhlen);
if (!p)
return nfserr_bad_xdr;
putfh->pf_fhval = svcxdr_tmpalloc(argp, putfh->pf_fhlen);
if (!putfh->pf_fhval)
return nfserr_jukebox;
memcpy(putfh->pf_fhval, p, putfh->pf_fhlen);
DECODE_TAIL;
return nfs_ok;
}
static __be32