]> git.proxmox.com Git - mirror_ubuntu-disco-kernel.git/commitdiff
RDMA/hns: Fix the bug while use multi-hop of pbl
authorLijun Ou <oulijun@huawei.com>
Sat, 8 Dec 2018 10:40:09 +0000 (18:40 +0800)
committerJason Gunthorpe <jgg@mellanox.com>
Tue, 11 Dec 2018 19:04:06 +0000 (12:04 -0700)
It will prevent multiply overflow when defines the pbl for u64 type.

Signed-off-by: Lijun Ou <oulijun@huawei.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/hw/hns/hns_roce_mr.c

index fabc95dbdf9734facff2c7dc00c6c3f4354b0652..ee5991bd4171cd3d88bb5f608669eee059128211 100644 (file)
@@ -1128,14 +1128,14 @@ struct ib_mr *hns_roce_reg_user_mr(struct ib_pd *pd, u64 start, u64 length,
                        goto err_umem;
                }
        } else {
-               int pbl_size = 1;
+               u64 pbl_size = 1;
 
                bt_size = (1 << (hr_dev->caps.pbl_ba_pg_sz + PAGE_SHIFT)) / 8;
                for (i = 0; i < hr_dev->caps.pbl_hop_num; i++)
                        pbl_size *= bt_size;
                if (n > pbl_size) {
                        dev_err(dev,
-                           " MR len %lld err. MR page num is limited to %d!\n",
+                           " MR len %lld err. MR page num is limited to %lld!\n",
                            length, pbl_size);
                        ret = -EINVAL;
                        goto err_umem;