svcrdma: Improve Write chunk sanity checking
authorChuck Lever <chuck.lever@oracle.com>
Fri, 23 Jun 2017 21:17:52 +0000 (17:17 -0400)
committerJ. Bruce Fields <bfields@redhat.com>
Wed, 28 Jun 2017 18:21:44 +0000 (14:21 -0400)
commit3c22f326074d2306041b0c5c9df516464349564d
treed8a0a6176ff16fe85534b2a67e9233bcef2b2bd7
parente77340e00300df9b6591d686f186eea60c67206f
svcrdma: Improve Write chunk sanity checking

Identify malformed transport headers and unsupported chunk
combinations as early as possible.

- Reject RPC-over-RDMA messages that contain more than one Write
chunk, since this implementation does not support more than one per
message.

- Ensure that segment lengths are not crazy.

- Ensure that the chunk's segment count is not crazy.

With a 1KB inline threshold, the largest number of Write segments
that can be conveyed is about 60 (for a RDMA_NOMSG Reply message).

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
net/sunrpc/xprtrdma/svc_rdma_recvfrom.c