From patchwork Wed Nov 13 15:07:00 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 62965 X-Patchwork-Delegate: ajit.khaparde@broadcom.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id AC6F8A04C3; Wed, 13 Nov 2019 16:08:19 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 4B9D14CA6; Wed, 13 Nov 2019 16:07:26 +0100 (CET) Received: from rnd-relay.smtp.broadcom.com (rnd-relay.smtp.broadcom.com [192.19.229.170]) by dpdk.org (Postfix) with ESMTP id A624C271 for ; Wed, 13 Nov 2019 16:07:13 +0100 (CET) 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 8761830C01C; Wed, 13 Nov 2019 07:03:57 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.10.3 rnd-relay.smtp.broadcom.com 8761830C01C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=broadcom.com; s=dkimrelay; t=1573657437; bh=Q/RV4kso7DEQ6CcjXZLhzDW/kyKn9SUxx8MYJPKIIrI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=oC7aDyIH2UoWwFpp+VOIvrIe/fA2pcgv/HZek7S6Nbg4af+rGJlkbZkOqGKBqwcpn 0NNz1g4ArU8gOy9Aky80VL9JfFUFXqM4pnYuqeBXhm+EiXVUzDXFtFTZzxX+AKJbx4 scHeHeNI8jHxidLJv+a5NTWnmQ83ojGRVKzolv8A= Received: from localhost.localdomain (unknown [10.230.26.250]) by mail-irv-17.broadcom.com (Postfix) with ESMTP id 0DCAE140069; Wed, 13 Nov 2019 07:07:08 -0800 (PST) From: Ajit Khaparde To: dev@dpdk.org Cc: ferruh.yigit@intel.com, Somnath Kotur Date: Wed, 13 Nov 2019 07:07:00 -0800 Message-Id: <20191113150700.2517-7-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.21.0 (Apple Git-122.2) In-Reply-To: <20191113150700.2517-1-ajit.khaparde@broadcom.com> References: <20191113082945.21277-1-somnath.kotur@broadcom.com> <20191113150700.2517-1-ajit.khaparde@broadcom.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v2 6/6] net/bnxt: fix potential 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" Null-checking "rxq" suggests that it may be null, but it has already been dereferenced on all paths leading to the check. Refactored the code to address this issue. Coverity issue: 350594 Fixes: fc4bfea59696 ("net/bnxt: fix Rx queue start/stop for Thor based NICs") Signed-off-by: Ajit Khaparde Reviewed-by: Somnath Kotur --- drivers/net/bnxt/bnxt_rxq.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/drivers/net/bnxt/bnxt_rxq.c b/drivers/net/bnxt/bnxt_rxq.c index 7fd079da3..94f105d34 100644 --- a/drivers/net/bnxt/bnxt_rxq.c +++ b/drivers/net/bnxt/bnxt_rxq.c @@ -515,13 +515,18 @@ int bnxt_rx_queue_stop(struct rte_eth_dev *dev, uint16_t rx_queue_id) } rxq = bp->rx_queues[rx_queue_id]; - vnic = rxq->vnic; - - if (!rxq || !vnic) { + if (!rxq) { PMD_DRV_LOG(ERR, "Invalid Rx queue %d\n", rx_queue_id); return -EINVAL; } + vnic = rxq->vnic; + if (!vnic) { + PMD_DRV_LOG(ERR, "VNIC not initialized for RxQ %d\n", + rx_queue_id); + return -EINVAL; + } + dev->data->rx_queue_state[rx_queue_id] = RTE_ETH_QUEUE_STATE_STOPPED; rxq->rx_started = false; PMD_DRV_LOG(DEBUG, "Rx queue stopped\n");