RDMA/bnxt_re: Fix to initialize the PBL array
authorAnantha Prabhu <anantha.prabhu@broadcom.com>
Tue, 5 Aug 2025 10:10:00 +0000 (15:40 +0530)
committerLeon Romanovsky <leon@kernel.org>
Wed, 13 Aug 2025 10:35:40 +0000 (06:35 -0400)
memset the PBL page pointer and page map arrays before
populating the SGL addresses of the HWQ.

Fixes: 0c4dcd602817 ("RDMA/bnxt_re: Refactor hardware queue memory allocation")
Signed-off-by: Anantha Prabhu <anantha.prabhu@broadcom.com>
Reviewed-by: Saravanan Vajravel <saravanan.vajravel@broadcom.com>
Reviewed-by: Selvin Xavier <selvin.xavier@broadcom.com>
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Link: https://patch.msgid.link/20250805101000.233310-5-kalesh-anakkur.purayil@broadcom.com
Signed-off-by: Leon Romanovsky <leon@kernel.org>
drivers/infiniband/hw/bnxt_re/qplib_res.c

index 6cd05207ffeddf56f63f94cf9776605aa99ad9e6..cc5c82d968395af46b28aeece1857dc64baf1e85 100644 (file)
@@ -121,6 +121,7 @@ static int __alloc_pbl(struct bnxt_qplib_res *res,
        pbl->pg_arr = vmalloc_array(pages, sizeof(void *));
        if (!pbl->pg_arr)
                return -ENOMEM;
+       memset(pbl->pg_arr, 0, pages * sizeof(void *));
 
        pbl->pg_map_arr = vmalloc_array(pages, sizeof(dma_addr_t));
        if (!pbl->pg_map_arr) {
@@ -128,6 +129,7 @@ static int __alloc_pbl(struct bnxt_qplib_res *res,
                pbl->pg_arr = NULL;
                return -ENOMEM;
        }
+       memset(pbl->pg_map_arr, 0, pages * sizeof(dma_addr_t));
        pbl->pg_count = 0;
        pbl->pg_size = sginfo->pgsize;