From 5b4fa4b49ad51fa2b29469e0879a818e0946ae43 Mon Sep 17 00:00:00 2001 From: Weihang Li Date: Thu, 11 Jul 2019 09:38:22 +0800 Subject: [PATCH] RDMA/hns: use page shift of umem instead of constant page shift driver inclusion category: bugfix bugzilla: NA CVE: NA User application would set page shift of umem, and expect to use this value during create mr. Feature or Bugfix: Bugfix Signed-off-by: Weihang Li Reviewed-by: liuyixian Reviewed-by: Yang Yingliang Signed-off-by: Yang Yingliang --- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 2 +- drivers/infiniband/hw/hns/hns_roce_mr.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/infiniband/hw/hns/hns_roce_hw_v2.c b/drivers/infiniband/hw/hns/hns_roce_hw_v2.c index 90f56c1372f3..1cb7ce19b000 100644 --- a/drivers/infiniband/hw/hns/hns_roce_hw_v2.c +++ b/drivers/infiniband/hw/hns/hns_roce_hw_v2.c @@ -2440,7 +2440,7 @@ static int set_mtpt_pbl(struct hns_roce_v2_mpt_entry *mpt_entry, i = 0; for_each_sg(mr->umem->sg_head.sgl, sg, mr->umem->nmap, entry) { - len = sg_dma_len(sg) >> PAGE_SHIFT; + len = sg_dma_len(sg) >> mr->umem->page_shift; for (j = 0; j < len; ++j) { page_addr = sg_dma_address(sg) + (j << mr->umem->page_shift); diff --git a/drivers/infiniband/hw/hns/hns_roce_mr.c b/drivers/infiniband/hw/hns/hns_roce_mr.c index b420c480f0f4..328065e9af5a 100644 --- a/drivers/infiniband/hw/hns/hns_roce_mr.c +++ b/drivers/infiniband/hw/hns/hns_roce_mr.c @@ -1128,7 +1128,7 @@ int hns_roce_ib_umem_write_mr(struct hns_roce_dev *hr_dev, pbl_bt_sz = 1 << (hr_dev->caps.pbl_ba_pg_sz + PAGE_SHIFT); for_each_sg(umem->sg_head.sgl, sg, umem->nmap, entry) { - len = sg_dma_len(sg) >> PAGE_SHIFT; + len = sg_dma_len(sg) >> umem->page_shift; for (k = 0; k < len; ++k) { page_addr = sg_dma_address(sg) + (k << umem->page_shift); -- GitLab