summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Tucker <tom@opengridcomputing.com>2008-05-07 20:49:58 +0200
committerTom Tucker <tom@opengridcomputing.com>2008-05-19 14:33:59 +0200
commit69500c43b45f7155b72dcadad31cd55cda789c93 (patch)
tree13bc2f4a6950841adc66a44635f945f84f8faeba
parentsvcrdma: Use ib verbs version of dma_unmap (diff)
downloadlinux-69500c43b45f7155b72dcadad31cd55cda789c93.tar.xz
linux-69500c43b45f7155b72dcadad31cd55cda789c93.zip
svcrdma: Set rqstp transport address in rdma_read_complete function
The rdma_read_complete function needs to copy the rqstp transport address from the transport. Failure to do so can result in using the wrong authentication method for the RPC or bug checking if the rqstp address is not valid. Signed-off-by: Tom Tucker <tom@opengridcomputing.com>
-rw-r--r--net/sunrpc/xprtrdma/svc_rdma_recvfrom.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c b/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c
index 21a1e625ef03..c016f5ca0ce5 100644
--- a/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c
+++ b/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c
@@ -416,6 +416,7 @@ static int rdma_read_complete(struct svc_rqst *rqstp,
/* XXX: What should this be? */
rqstp->rq_prot = IPPROTO_MAX;
+ svc_xprt_copy_addrs(rqstp, rqstp->rq_xprt);
ret = rqstp->rq_arg.head[0].iov_len
+ rqstp->rq_arg.page_len