RDMA/bnxt_re: Fix sizeof mismatch for allocation of pbl_tbl.
authorColin Ian King <colin.king@canonical.com>
Tue, 6 Oct 2020 11:47:00 +0000 (12:47 +0100)
committerJason Gunthorpe <jgg@nvidia.com>
Tue, 6 Oct 2020 19:56:36 +0000 (16:56 -0300)
An incorrect sizeof is being used, u64 * is not correct, it should be just
u64 for a table of umem_pgs number of u64 items in the pbl_tbl.  Use the
idiom sizeof(*pbl_tbl) to get the object type without the need to
explicitly use u64.

Link: https://lore.kernel.org/r/20201006114700.537916-1-colin.king@canonical.com
Addresses-Coverity: ("Sizeof not portable (SIZEOF_MISMATCH)")
Fixes: 1ac5a4047975 ("RDMA/bnxt_re: Add bnxt_re RoCE driver")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/hw/bnxt_re/ib_verbs.c

index e2707b2..cf3db96 100644 (file)
@@ -3846,7 +3846,7 @@ struct ib_mr *bnxt_re_reg_user_mr(struct ib_pd *ib_pd, u64 start, u64 length,
        }
 
        umem_pgs = ib_umem_num_dma_blocks(umem, page_size);
-       pbl_tbl = kcalloc(umem_pgs, sizeof(u64 *), GFP_KERNEL);
+       pbl_tbl = kcalloc(umem_pgs, sizeof(*pbl_tbl), GFP_KERNEL);
        if (!pbl_tbl) {
                rc = -ENOMEM;
                goto free_umem;