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 3023AA0526 for ; Wed, 25 Nov 2020 03:23:28 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 2066BC93C; Wed, 25 Nov 2020 03:23:27 +0100 (CET) Received: from szxga06-in.huawei.com (szxga06-in.huawei.com [45.249.212.32]) by dpdk.org (Postfix) with ESMTP id B00C7C93C for ; Wed, 25 Nov 2020 03:23:25 +0100 (CET) Received: from DGGEMS407-HUB.china.huawei.com (unknown [172.30.72.58]) by szxga06-in.huawei.com (SkyGuard) with ESMTP id 4Cgl6h1Gbhzhftd; Wed, 25 Nov 2020 10:23:08 +0800 (CST) Received: from localhost (10.174.187.156) by DGGEMS407-HUB.china.huawei.com (10.3.19.207) with Microsoft SMTP Server id 14.3.487.0; Wed, 25 Nov 2020 10:23:14 +0800 From: wangyunjian To: CC: , , , , Yunjian Wang Date: Wed, 25 Nov 2020 10:23:11 +0800 Message-ID: <1606270991-60700-1-git-send-email-wangyunjian@huawei.com> X-Mailer: git-send-email 1.9.5.msysgit.1 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.174.187.156] X-CFilter-Loop: Reflected Subject: [dpdk-stable] [PATCH 18.11 2/2] net/bnxt: add memory allocation check in VF info init X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" From: Yunjian Wang [ upstream commit 2477be96e7a34ee74314d2604b4943b5e317e627 ] 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") 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 7c8ec7136..41372a102 100644 --- a/drivers/net/bnxt/bnxt_hwrm.c +++ b/drivers/net/bnxt/bnxt_hwrm.c @@ -548,8 +548,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 = bp->pf.first_vf_id + i; -- 2.18.1