From 2477be96e7a34ee74314d2604b4943b5e317e627 Mon Sep 17 00:00:00 2001 From: Yunjian Wang Date: Fri, 31 Jul 2020 20:09:06 +0800 Subject: [PATCH] net/bnxt: add memory allocation check in VF info init 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 Reviewed-by: Ajit Khaparde --- drivers/net/bnxt/bnxt_hwrm.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c index 643dd98977..43e3e27537 100644 --- a/drivers/net/bnxt/bnxt_hwrm.c +++ b/drivers/net/bnxt/bnxt_hwrm.c @@ -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 = -- 2.20.1