From patchwork Fri Mar 19 00:17:09 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 89515 X-Patchwork-Delegate: ajit.khaparde@broadcom.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id D2D08A0562; Fri, 19 Mar 2021 01:17:15 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BFDAE140FCB; Fri, 19 Mar 2021 01:17:15 +0100 (CET) Received: from mail-pg1-f175.google.com (mail-pg1-f175.google.com [209.85.215.175]) by mails.dpdk.org (Postfix) with ESMTP id B404F4003F for ; Fri, 19 Mar 2021 01:17:14 +0100 (CET) Received: by mail-pg1-f175.google.com with SMTP id l1so2506818pgb.5 for ; Thu, 18 Mar 2021 17:17:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=from:to:cc:subject:date:message-id:mime-version; bh=KTfufrqds8i055y581PzyHhqApHUSjPVvuF64xZhxK0=; b=QJt0t5ppbUcE1CNYghVEiCuhKggLWkuKzNqsyn+ojZUC81KDnKWBkatobjbmqGvoX2 unVIR3uqC6aElpKqRdeE7DZrUcdL/3u773SEVw6QtD5TW6z/J8GD1RFBk9GuYfc/ggmj VtdRDaQrSs1lcz1ZaFxCR9azhXkVszsBLCgvo= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version; bh=KTfufrqds8i055y581PzyHhqApHUSjPVvuF64xZhxK0=; b=s7TE1m8yntjGpZ173l4Gc/f2YRmtW4u9AhUxqeejGWc62VaJLCSykAS0YbFi1/cLWk 5z8p9snVhl40rrGoN2kCZgAFUS0uRY3XwvwRQUDKBt+TBIwmZKuUSfH7LCbynkes+kNA JqPFZDjT3MZ6cIVOgmbQOnqFu2OTwH1Iyi18noAZXeZdn2zxEx3uaaJ4lvbhSp1DBAUh z7Pr2h0K+qayGEXpBbcdRHUmGDJ5P4qcqj4RicdJZZGCME01L7N4MXbWhwsLuM0JGBOx zeovClEplXckza5O4O60MXypAyjqsGxyclvhwbtbObLMxS/t0+gtmuoDObQRir7MSmPr C/LQ== X-Gm-Message-State: AOAM530HghmBHGGccrBuECo04zuM/padCKH6xMlva/IZndlB9LFAxR8K bKWdes9hk4HT00jr1TD54L7h3c0h25uAtvRmqdDHHMZJhoqg8k8bfAhcdEpAEGslkPb44Iset4n 3LploeAUR/WzOvExmdFfWzMUDzzVWYGGPfrC2nSSrhQt1ulitjtGiDK7XucK8mEPeFw== X-Google-Smtp-Source: ABdhPJyKd2SdPM7v6NdRNvzlaAElcbWby55TPP+6eUdKxPTGbGtF0clopFBdbA1srIqcphedmAtK5w== X-Received: by 2002:a62:2c85:0:b029:1ed:39f4:ca0f with SMTP id s127-20020a622c850000b02901ed39f4ca0fmr6640171pfs.11.1616113033459; Thu, 18 Mar 2021 17:17:13 -0700 (PDT) Received: from localhost.localdomain ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id f2sm3591249pfq.129.2021.03.18.17.17.12 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 18 Mar 2021 17:17:12 -0700 (PDT) From: Ajit Khaparde To: dev@dpdk.org Cc: stable@dpdk.org, Lance Richardson Date: Thu, 18 Mar 2021 17:17:09 -0700 Message-Id: <20210319001709.77261-1-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.21.1 (Apple Git-122.3) MIME-Version: 1.0 X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: [dpdk-dev] [PATCH] net/bnxt: check return value X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 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" Check return value of rte_kvargs_process() Coverity issue: 357765 Fixes: ba404aacc5cf ("net/bnxt: set maximum flow count") Fixes: 02a95625fe9c ("net/bnxt: add flow stats in extended stats") Fixes: 7b0940653720 ("net/bnxt: support host memory based TruFlow") Cc: stable@dpdk.org Signed-off-by: Ajit Khaparde Reviewed-by: Lance Richardson --- drivers/net/bnxt/bnxt_ethdev.c | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c index 1990d65c29..930e7e83f4 100644 --- a/drivers/net/bnxt/bnxt_ethdev.c +++ b/drivers/net/bnxt/bnxt_ethdev.c @@ -5477,40 +5477,49 @@ bnxt_parse_devarg_rep_fc_f2r(__rte_unused const char *key, return 0; } -static void +static int bnxt_parse_dev_args(struct bnxt *bp, struct rte_devargs *devargs) { struct rte_kvargs *kvlist; + int ret; if (devargs == NULL) - return; + return 0; kvlist = rte_kvargs_parse(devargs->args, bnxt_dev_args); if (kvlist == NULL) - return; + return -EINVAL; /* * Handler for "truflow" devarg. * Invoked as for ex: "-a 0000:00:0d.0,host-based-truflow=1" */ - rte_kvargs_process(kvlist, BNXT_DEVARG_TRUFLOW, - bnxt_parse_devarg_truflow, bp); + ret = rte_kvargs_process(kvlist, BNXT_DEVARG_TRUFLOW, + bnxt_parse_devarg_truflow, bp); + if (ret) + goto err; /* * Handler for "flow_xstat" devarg. * Invoked as for ex: "-a 0000:00:0d.0,flow_xstat=1" */ - rte_kvargs_process(kvlist, BNXT_DEVARG_FLOW_XSTAT, - bnxt_parse_devarg_flow_xstat, bp); + ret = rte_kvargs_process(kvlist, BNXT_DEVARG_FLOW_XSTAT, + bnxt_parse_devarg_flow_xstat, bp); + if (ret) + goto err; /* * Handler for "max_num_kflows" devarg. * Invoked as for ex: "-a 000:00:0d.0,max_num_kflows=32" */ - rte_kvargs_process(kvlist, BNXT_DEVARG_MAX_NUM_KFLOWS, - bnxt_parse_devarg_max_num_kflows, bp); + ret = rte_kvargs_process(kvlist, BNXT_DEVARG_MAX_NUM_KFLOWS, + bnxt_parse_devarg_max_num_kflows, bp); + if (ret) + goto err; +err: rte_kvargs_free(kvlist); + return ret; } static int bnxt_alloc_switch_domain(struct bnxt *bp) @@ -5645,7 +5654,9 @@ bnxt_dev_init(struct rte_eth_dev *eth_dev, void *params __rte_unused) bp = eth_dev->data->dev_private; /* Parse dev arguments passed on when starting the DPDK application. */ - bnxt_parse_dev_args(bp, pci_dev->device.devargs); + rc = bnxt_parse_dev_args(bp, pci_dev->device.devargs); + if (rc) + goto error_free; rc = bnxt_drv_init(eth_dev); if (rc)