On Mon, Apr 15, 2019 at 11:34:22AM -0700, Dennis Dalessandro wrote: > From: Josh Collier <josh.d.collier@xxxxxxxxx> > > Current implementation was not properly handling frwr memory > registrations. This was uncovered by: > commit 27f26cec761das > xprtrdma: Plant XID in on-the-wire RDMA offset (FRWR) > in which xprtrdma, which is used for NFS over RDMA, started > failing as it was the first ULP to modify the ib_mr iova > resulting in the NFS server getting REMOTE ACCESS ERROR > when attempting to perform RDMA Writes to the client. > > The fix is to properly capture the true iova, offset, and length > in the call to ib_map_mr_sg, and then update the iova when > processing the IB_WR_REG_MEM on the send queue. > > Fixes: a41081aa5936 ("IB/rdmavt: Add support for ib_map_mr_sg") > Cc: stable@xxxxxxxxxxxxxxx > Reviewed-by: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> > Reviewed-by: Dennis Dalessandro <dennis.dalessandro@xxxxxxxxx> > Reviewed-by: Michael J. Ruhl <michael.j.ruhl@xxxxxxxxx> > Signed-off-by: Josh Collier <josh.d.collier@xxxxxxxxx> > Signed-off-by: Dennis Dalessandro <dennis.dalessandro@xxxxxxxxx> > --- > drivers/infiniband/sw/rdmavt/mr.c | 17 ++++++++++------- > 1 files changed, 10 insertions(+), 7 deletions(-) Applied to for-rc Thanks, Jason