net/bnxt: add memory allocation check in VF info init
authorYunjian Wang <wangyunjian@huawei.com>
Fri, 31 Jul 2020 12:09:06 +0000 (20:09 +0800)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 18 Sep 2020 16:55:07 +0000 (18:55 +0200)
The function rte_malloc() could return NULL, the return
value need to be checked.

Fixes: b7778e8a1c00 ("net/bnxt: refactor to properly allocate resources for PF/VF")
Cc: stable@dpdk.org
Signed-off-by: Yunjian Wang <wangyunjian@huawei.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
drivers/net/bnxt/bnxt_hwrm.c

index 643dd98..43e3e27 100644 (file)
@@ -711,8 +711,12 @@ static int __bnxt_hwrm_func_qcaps(struct bnxt *bp)
                if (new_max_vfs != bp->pf->max_vfs) {
                        if (bp->pf->vf_info)
                                bnxt_hwrm_free_vf_info(bp);
-                       bp->pf->vf_info = rte_malloc("bnxt_vf_info",
+                       bp->pf->vf_info = rte_zmalloc("bnxt_vf_info",
                            sizeof(bp->pf->vf_info[0]) * new_max_vfs, 0);
+                       if (bp->pf->vf_info == NULL) {
+                               PMD_DRV_LOG(ERR, "Alloc vf info fail\n");
+                               return -ENOMEM;
+                       }
                        bp->pf->max_vfs = new_max_vfs;
                        for (i = 0; i < new_max_vfs; i++) {
                                bp->pf->vf_info[i].fid =