linux/net/sunrpc/xprtrdma
Chuck Lever f3ea53fb3b svcrdma: Use correct XID in error replies
When constructing an error reply, svc_rdma_xdr_encode_error()
needs to view the client's request message so it can get the
failing request's XID.

svc_rdma_xdr_decode_req() is supposed to return a pointer to the
client's request header. But if it fails to decode the client's
message (and thus an error reply is needed) it does not return the
pointer. The server then sends a bogus XID in the error reply.

Instead, unconditionally generate the pointer to the client's header
in svc_rdma_recvfrom(), and pass that pointer to both functions.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Reviewed-by: Devesh Sharma <devesh.sharma@broadcom.com>
Tested-by: Devesh Sharma <devesh.sharma@broadcom.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
2016-03-01 13:06:39 -08:00
..
backchannel.c xprtrdma: Disable RPC/RDMA backchannel debugging messages 2015-12-18 15:34:33 -05:00
fmr_ops.c xprtrdma: Add ro_unmap_sync method for FMR 2015-12-18 15:34:33 -05:00
frwr_ops.c Initial roundup of 4.5 merge window patches 2016-01-23 18:45:06 -08:00
Makefile svcrdma: Add class for RDMA backwards direction transport 2016-01-19 15:30:48 -05:00
module.c rpcrdma: Merge svcrdma and xprtrdma modules into one 2015-06-04 16:56:02 -04:00
physical_ops.c xprtrdma: Add ro_unmap_sync method for all-physical registration 2015-12-18 15:34:33 -05:00
rpc_rdma.c xprtrdma: Invalidate in the RPC reply handler 2015-12-18 15:34:33 -05:00
svc_rdma.c svcrdma: Define maximum number of backchannel requests 2016-01-19 15:30:48 -05:00
svc_rdma_backchannel.c svcrdma: svc_rdma_post_recv() should close connection on error 2016-03-01 13:06:37 -08:00
svc_rdma_marshal.c svcrdma: Use correct XID in error replies 2016-03-01 13:06:39 -08:00
svc_rdma_recvfrom.c svcrdma: Use correct XID in error replies 2016-03-01 13:06:39 -08:00
svc_rdma_sendto.c svcrdma: Make RDMA_ERROR messages work 2016-03-01 13:06:38 -08:00
svc_rdma_transport.c svcrdma: Make RDMA_ERROR messages work 2016-03-01 13:06:38 -08:00
transport.c Initial roundup of 4.5 merge window patches 2016-01-23 18:45:06 -08:00
verbs.c Initial roundup of 4.5 merge window patches 2016-01-23 18:45:06 -08:00
xprt_rdma.h Initial roundup of 4.5 merge window patches 2016-01-23 18:45:06 -08:00