RDMA/bnxt_re: Add a check for memory allocation
authorKalesh AP <kalesh-anakkur.purayil@broadcom.com>
Thu, 19 Sep 2024 03:05:58 +0000 (20:05 -0700)
committerLeon Romanovsky <leon@kernel.org>
Tue, 8 Oct 2024 07:12:29 +0000 (10:12 +0300)
__alloc_pbl() can return error when memory allocation fails.
Driver is not checking the status on one of the instances.

Fixes: 0c4dcd602817 ("RDMA/bnxt_re: Refactor hardware queue memory allocation")
Link: https://patch.msgid.link/r/1726715161-18941-4-git-send-email-selvin.xavier@broadcom.com
Reviewed-by: Selvin Xavier <selvin.xavier@broadcom.com>
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
drivers/infiniband/hw/bnxt_re/qplib_res.c

index dfc943f..1fdffd6 100644 (file)
@@ -244,6 +244,8 @@ int bnxt_qplib_alloc_init_hwq(struct bnxt_qplib_hwq *hwq,
                        sginfo.pgsize = npde * pg_size;
                        sginfo.npages = 1;
                        rc = __alloc_pbl(res, &hwq->pbl[PBL_LVL_0], &sginfo);
+                       if (rc)
+                               goto fail;
 
                        /* Alloc PBL pages */
                        sginfo.npages = npbl;