NFSD: Replace READ* macros in nfsd4_decode_setxattr()
[ Upstream commit 403366a7e8e2930002157525cd44add7fa01bca9 ] Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
9bc67df0f9
commit
8e1b8a78a9
@@ -2184,11 +2184,11 @@ static __be32
|
|||||||
nfsd4_decode_setxattr(struct nfsd4_compoundargs *argp,
|
nfsd4_decode_setxattr(struct nfsd4_compoundargs *argp,
|
||||||
struct nfsd4_setxattr *setxattr)
|
struct nfsd4_setxattr *setxattr)
|
||||||
{
|
{
|
||||||
DECODE_HEAD;
|
|
||||||
u32 flags, maxcount, size;
|
u32 flags, maxcount, size;
|
||||||
|
__be32 status;
|
||||||
|
|
||||||
READ_BUF(4);
|
if (xdr_stream_decode_u32(argp->xdr, &flags) < 0)
|
||||||
flags = be32_to_cpup(p++);
|
return nfserr_bad_xdr;
|
||||||
|
|
||||||
if (flags > SETXATTR4_REPLACE)
|
if (flags > SETXATTR4_REPLACE)
|
||||||
return nfserr_inval;
|
return nfserr_inval;
|
||||||
@@ -2201,8 +2201,8 @@ nfsd4_decode_setxattr(struct nfsd4_compoundargs *argp,
|
|||||||
maxcount = svc_max_payload(argp->rqstp);
|
maxcount = svc_max_payload(argp->rqstp);
|
||||||
maxcount = min_t(u32, XATTR_SIZE_MAX, maxcount);
|
maxcount = min_t(u32, XATTR_SIZE_MAX, maxcount);
|
||||||
|
|
||||||
READ_BUF(4);
|
if (xdr_stream_decode_u32(argp->xdr, &size) < 0)
|
||||||
size = be32_to_cpup(p++);
|
return nfserr_bad_xdr;
|
||||||
if (size > maxcount)
|
if (size > maxcount)
|
||||||
return nfserr_xattr2big;
|
return nfserr_xattr2big;
|
||||||
|
|
||||||
@@ -2211,12 +2211,12 @@ nfsd4_decode_setxattr(struct nfsd4_compoundargs *argp,
|
|||||||
struct xdr_buf payload;
|
struct xdr_buf payload;
|
||||||
|
|
||||||
if (!xdr_stream_subsegment(argp->xdr, &payload, size))
|
if (!xdr_stream_subsegment(argp->xdr, &payload, size))
|
||||||
goto xdr_error;
|
return nfserr_bad_xdr;
|
||||||
status = nfsd4_vbuf_from_vector(argp, &payload,
|
status = nfsd4_vbuf_from_vector(argp, &payload,
|
||||||
&setxattr->setxa_buf, size);
|
&setxattr->setxa_buf, size);
|
||||||
}
|
}
|
||||||
|
|
||||||
DECODE_TAIL;
|
return nfs_ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
static __be32
|
static __be32
|
||||||
|
Reference in New Issue
Block a user