From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 17884A052B; Fri, 31 Jul 2020 14:09:22 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 224021C023; Fri, 31 Jul 2020 14:09:21 +0200 (CEST) Received: from huawei.com (szxga07-in.huawei.com [45.249.212.35]) by dpdk.org (Postfix) with ESMTP id 087A01BFFD; Fri, 31 Jul 2020 14:09:19 +0200 (CEST) Received: from DGGEMS405-HUB.china.huawei.com (unknown [172.30.72.58]) by Forcepoint Email with ESMTP id C73ED141E44AC5286EEB; Fri, 31 Jul 2020 20:09:16 +0800 (CST) Received: from localhost (10.174.185.168) by DGGEMS405-HUB.china.huawei.com (10.3.19.205) with Microsoft SMTP Server id 14.3.487.0; Fri, 31 Jul 2020 20:09:09 +0800 From: wangyunjian To: CC: , , , , Yunjian Wang , Date: Fri, 31 Jul 2020 20:09:06 +0800 Message-ID: X-Mailer: git-send-email 1.9.5.msysgit.1 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.174.185.168] X-CFilter-Loop: Reflected Subject: [dpdk-dev] [PATCH 2/2] net/bnxt: add memory allocation check in vf_info init X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Yunjian Wang 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 --- 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 643dd9897..43e3e2753 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.23.0