linux/drivers/infiniband/ulp
Roman Penyaev 33e3960290 RDMA/rtrs-srv: fix SG mapping
[ Upstream commit 83835f7c07 ]

This fixes the following error on the server side:

   RTRS server session allocation failed: -EINVAL

caused by the caller of the `ib_dma_map_sg()`, which does not expect
less mapped entries, than requested, which is in the order of things
and can be easily reproduced on the machine with enabled IOMMU.

The fix is to treat any positive number of mapped sg entries as a
successful mapping and cache DMA addresses by traversing modified
SG table.

Fixes: 9cb8374804 ("RDMA/rtrs: server: main functionality")
Signed-off-by: Roman Penyaev <r.peniaev@gmail.com>
Signed-off-by: Jack Wang <jinpu.wang@ionos.com>
Signed-off-by: Grzegorz Prajsner <grzegorz.prajsner@ionos.com>
Link: https://patch.msgid.link/20260107161517.56357-2-haris.iqbal@ionos.com
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2026-02-26 14:59:25 -08:00
..
ipoib IB/ipoib: Ignore L3 master device 2025-09-18 05:20:48 -04:00
iser IB/iser: Remove unnecessary local variable 2025-06-12 04:28:04 -04:00
isert IB/isert: remove the handling of last WQE reached event 2024-06-26 10:53:29 -03:00
opa_vnic RDMA: Use ethtool string helpers 2024-10-30 11:28:57 +02:00
rtrs RDMA/rtrs-srv: fix SG mapping 2026-02-26 14:59:25 -08:00
srp scsi: RDMA/srp: Don't set a max_segment_size when virt_boundary_mask is set 2025-06-24 21:20:57 -04:00
srpt RDMA: Use %pe format specifier for error pointers 2025-09-21 07:34:49 -04:00
Makefile RDMA/rtrs: include client and server modules into kernel compilation 2020-05-17 18:57:15 -03:00