Commit f5708e66 authored by Guoqing Jiang's avatar Guoqing Jiang Committed by Leon Romanovsky
Browse files

RDMA/rtrs-clt: Correct the checking of ib_map_mr_sg



We should check with count, also the only successful case is that
all sg elements are mapped, so make it explicitly.

Acked-by: default avatarJack Wang <jinpu.wang@ionos.com>
Signed-off-by: default avatarGuoqing Jiang <guoqing.jiang@linux.dev>
Link: https://lore.kernel.org/r/20221117101945.6317-5-guoqing.jiang@linux.dev


Signed-off-by: default avatarLeon Romanovsky <leon@kernel.org>
parent 102d2f70
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -1064,10 +1064,8 @@ static int rtrs_map_sg_fr(struct rtrs_clt_io_req *req, size_t count)

	/* Align the MR to a 4K page size to match the block virt boundary */
	nr = ib_map_mr_sg(req->mr, req->sglist, count, NULL, SZ_4K);
	if (nr < 0)
		return nr;
	if (nr < req->sg_cnt)
		return -EINVAL;
	if (nr != count)
		return nr < 0 ? nr : -EINVAL;
	ib_update_fast_reg_key(req->mr, ib_inc_rkey(req->mr->rkey));

	return nr;