Re: [PATCH v1] rxe: IB_WR_REG_MR does not capture MR's iova field

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Nov 25, 2018 at 05:13:08PM -0500, Chuck Lever wrote:
> FRWR memory registration is done with a series of calls and WRs.
> 1. ULP invokes ib_dma_map_sg()
> 2. ULP invokes ib_map_mr_sg()
> 3. ULP posts an IB_WR_REG_MR on the Send queue
> 
> Step 2 generates an iova. It is permissible for ULPs to change
> this iova (with certain restrictions) between steps 2 and 3.
> 
> rxe_map_mr_sg captures the MR's iova but later when rxe processes
> the REG_MR WR, it ignores the MR's iova field. If a ULP alters the
> MR's iova after step 2 but before step 3, rxe never captures that
> change.
> 
> When the remote sends an RDMA Read targeting that MR, rxe looks up
> the R_key, but the altered iova does not match the iova stored in
> the MR, causing the RDMA Read request to fail.
> 
> Reported-by: Anna Schumaker <schumaker.anna@xxxxxxxxx>
> Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx>
> Reviewed-by: Sagi Grimberg <sagi@xxxxxxxxxxx>

Applied to for-next

Thanks,
Jason



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux