projects
/
platform
/
kernel
/
linux-starfive.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
102d2f7
)
RDMA/rtrs-clt: Correct the checking of ib_map_mr_sg
author
Guoqing Jiang
<guoqing.jiang@linux.dev>
Thu, 17 Nov 2022 10:19:41 +0000
(18:19 +0800)
committer
Leon Romanovsky
<leon@kernel.org>
Thu, 17 Nov 2022 11:47:28 +0000
(13:47 +0200)
We should check with count, also the only successful case is that
all sg elements are mapped, so make it explicitly.
Acked-by: Jack Wang <jinpu.wang@ionos.com>
Signed-off-by: Guoqing Jiang <guoqing.jiang@linux.dev>
Link:
https://lore.kernel.org/r/20221117101945.6317-5-guoqing.jiang@linux.dev
Signed-off-by: Leon Romanovsky <leon@kernel.org>
drivers/infiniband/ulp/rtrs/rtrs-clt.c
patch
|
blob
|
history
diff --git
a/drivers/infiniband/ulp/rtrs/rtrs-clt.c
b/drivers/infiniband/ulp/rtrs/rtrs-clt.c
index
8546b88
..
be7c848
100644
(file)
--- a/
drivers/infiniband/ulp/rtrs/rtrs-clt.c
+++ b/
drivers/infiniband/ulp/rtrs/rtrs-clt.c
@@
-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;