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 95B64A2EDB for ; Wed, 2 Oct 2019 03:25:34 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 32FC71BF19; Wed, 2 Oct 2019 03:24:14 +0200 (CEST) Received: from rnd-relay.smtp.broadcom.com (unknown [192.19.229.170]) by dpdk.org (Postfix) with ESMTP id 4803A1BE85; Wed, 2 Oct 2019 03:23:48 +0200 (CEST) Received: from mail-irv-17.broadcom.com (mail-irv-17.lvn.broadcom.net [10.75.242.48]) by rnd-relay.smtp.broadcom.com (Postfix) with ESMTP id 0311C30CC59; Tue, 1 Oct 2019 18:22:33 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.10.3 rnd-relay.smtp.broadcom.com 0311C30CC59 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=broadcom.com; s=dkimrelay; t=1569979353; bh=5ryZAqYCaL1ELIRROIfhkNqDhcj75JqnOoyoMVk8j8Q=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=JuKW3iYOr3Qwg78Z4jMg4FTGKiqmoQSjE9+XMAebDwrAM3eSfJCz1ykHhTJkMGrWa PIHv+tm7dVaZ1wshn3W5TZXswv9y781cyef99Wy6RJ9px2VH392u2+lcZee2OFnHv6 qo4uf0CNFfa/jX6c2PxxCrTNA2q/LSWENLsV9pFs= Received: from localhost.localdomain (unknown [10.230.30.225]) by mail-irv-17.broadcom.com (Postfix) with ESMTP id 73DB514008B; Tue, 1 Oct 2019 18:23:42 -0700 (PDT) From: Ajit Khaparde To: dev@dpdk.org Cc: ferruh.yigit@intel.com, Kalesh AP , stable@dpdk.org, Ajit Kumar Khaparde , Rahul Gupta , Lance Richardson Date: Tue, 1 Oct 2019 18:23:33 -0700 Message-Id: <20191002012335.85324-14-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.20.1 (Apple Git-117) In-Reply-To: <20191002012335.85324-1-ajit.khaparde@broadcom.com> References: <7c08999f-13f3-5fb6-39a2-557a0884bfde@intel.com> <20191002012335.85324-1-ajit.khaparde@broadcom.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH v3 13/15] net/bnxt: avoid null pointer dereference 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: Kalesh AP Commit "bd0a14c99f65" enables the creation of a dedicated completion ring for asynchronous event handling instead of handling these events on a receive completion ring on non Stingray Platforms. This causes a segfault due to NULL pointer defreference in bnxt_alloc_async_cp_ring() on stingray. Fix this by checking the pointer validity before accessing it. Fixes: bd0a14c99f65 ("net/bnxt: use dedicated CPR for async events") Cc: stable@dpdk.org Signed-off-by: Kalesh AP Signed-off-by: Ajit Kumar Khaparde Reviewed-by: Rahul Gupta Reviewed-by: Lance Richardson --- drivers/net/bnxt/bnxt_ring.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/net/bnxt/bnxt_ring.c b/drivers/net/bnxt/bnxt_ring.c index 2f57e038a0..ec17783cf8 100644 --- a/drivers/net/bnxt/bnxt_ring.c +++ b/drivers/net/bnxt/bnxt_ring.c @@ -694,13 +694,15 @@ int bnxt_alloc_hwrm_rings(struct bnxt *bp) int bnxt_alloc_async_cp_ring(struct bnxt *bp) { struct bnxt_cp_ring_info *cpr = bp->async_cp_ring; - struct bnxt_ring *cp_ring = cpr->cp_ring_struct; + struct bnxt_ring *cp_ring; uint8_t ring_type; int rc; - if (BNXT_NUM_ASYNC_CPR(bp) == 0) + if (BNXT_NUM_ASYNC_CPR(bp) == 0 || cpr == NULL) return 0; + cp_ring = cpr->cp_ring_struct; + if (BNXT_HAS_NQ(bp)) ring_type = HWRM_RING_ALLOC_INPUT_RING_TYPE_NQ; else -- 2.20.1 (Apple Git-117)