diff options
author | J. Bruce Fields <bfields@redhat.com> | 2017-05-16 15:57:42 -0400 |
---|---|---|
committer | J. Bruce Fields <bfields@redhat.com> | 2017-05-16 16:16:30 -0400 |
commit | 9512a16b0e1217bbef73d276a67c28b5fbb46512 (patch) | |
tree | 3ac6cb7ced49e46ff3cc5278fa9de26240531968 /include | |
parent | 2ea659a9ef488125eb46da6eb571de5eae5c43f6 (diff) | |
download | linux-9512a16b0e1217bbef73d276a67c28b5fbb46512.tar.gz linux-9512a16b0e1217bbef73d276a67c28b5fbb46512.tar.bz2 linux-9512a16b0e1217bbef73d276a67c28b5fbb46512.zip |
nfsd: Revert "nfsd: check for oversized NFSv2/v3 arguments"
This reverts commit 51f567777799 "nfsd: check for oversized NFSv2/v3
arguments", which breaks support for NFSv3 ACLs.
That patch was actually an earlier draft of a fix for the problem that
was eventually fixed by e6838a29ecb "nfsd: check for oversized NFSv2/v3
arguments". But somehow I accidentally left this earlier draft in the
branch that was part of my 2.12 pull request.
Reported-by: Eryu Guan <eguan@redhat.com>
Cc: stable@vger.kernel.org
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/sunrpc/svc.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/include/linux/sunrpc/svc.h b/include/linux/sunrpc/svc.h index 94631026f79c..11cef5a7bc87 100644 --- a/include/linux/sunrpc/svc.h +++ b/include/linux/sunrpc/svc.h @@ -336,7 +336,8 @@ xdr_argsize_check(struct svc_rqst *rqstp, __be32 *p) { char *cp = (char *)p; struct kvec *vec = &rqstp->rq_arg.head[0]; - return cp == (char *)vec->iov_base + vec->iov_len; + return cp >= (char*)vec->iov_base + && cp <= (char*)vec->iov_base + vec->iov_len; } static inline int |