From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id C5801A0543 for ; Thu, 7 Jul 2022 09:57:08 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BE17D415D7; Thu, 7 Jul 2022 09:57:08 +0200 (CEST) Received: from smtp-relay-internal-1.canonical.com (smtp-relay-internal-1.canonical.com [185.125.188.123]) by mails.dpdk.org (Postfix) with ESMTP id 30345406B4 for ; Thu, 7 Jul 2022 09:57:07 +0200 (CEST) Received: from mail-ej1-f69.google.com (mail-ej1-f69.google.com [209.85.218.69]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-internal-1.canonical.com (Postfix) with ESMTPS id 136F340A8D for ; Thu, 7 Jul 2022 07:57:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1657180627; bh=znrz2gdhaBUuG/96ruiq1jOfOwGFG/MZ/dZw3iaq6W8=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version:Content-Type; b=sdbYyRA8TJJIK03CqZ7BDfaLok7KCYZx+5LNvWqFw9tHgSPxv7ux5BRuETSh4NEjI NgUXg8mOGKU/XBUhuH24AUNOLdelnnX0Dm5IqCSa+EUI6md4W7qvvEB8/w38ovLTWg PchIOBanLwi0tIQBtLeClmpe9tl3I9D/FWHDy1irN7VZm7d8e4AN/nyaEjR46IwVer CQKtmjUVaZ3yo7kEqDQiyLve7WMJAqR6NCJQlPOXxIWb6isYOVZryXEQa/RgR12iB+ 9ea0VVxEvsX2Miaf4NoNWbtpcvuU4tkcxuRV6BpcF7+0cmhS0iKjqsPRahSivC30PJ gkxfWG4cV2/aA== Received: by mail-ej1-f69.google.com with SMTP id gr1-20020a170906e2c100b006fefea3ec0aso4432656ejb.14 for ; Thu, 07 Jul 2022 00:57:07 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=znrz2gdhaBUuG/96ruiq1jOfOwGFG/MZ/dZw3iaq6W8=; b=aKIs3Wg48xPLGEOie5AU5cKN3vhVlT3jPGp7veS4YGp4e16ie4qtmlXRRxb4PybpEe Ay5pNfsKthS5KSekJD5nRXqwERziTh1jZbPwb9JT2z60K9myaQTT7jcoxNPbhTGUh7s4 OgqT8oqi3gnldWKN0P3WICxsoZjGcfInYoTITfBTY3Tlpf4vJbqDNmDO13wjhN8gXbsT qzF6UlhQjIQl2OHYKZAS0C8A73OWhvQ6YbLSVTctxWS95AIuCefw7eAIURUs9fownrPe UT/8H7KhhMMyXpjxXVcAdrBioyRvGmegdIwlAta99KXs917A628ocpPPi6gMg2uW+VzA UMfg== X-Gm-Message-State: AJIora+/umaFZfOPY8nASsM3QBQx4QAxZi7pkPVSrtm05tYWBcY6djPj +gk5TRzMXKwlpqECi8dU4NPwbF1AXEesfSHmHKeyBTvq4IaPR6AEk4g3oxK9e2DVhe1vAg0AW1T EK8icfrdUipoQ7tnYuAu0dlAm X-Received: by 2002:a05:6402:40f:b0:436:a6ba:360d with SMTP id q15-20020a056402040f00b00436a6ba360dmr58886733edv.371.1657180626569; Thu, 07 Jul 2022 00:57:06 -0700 (PDT) X-Google-Smtp-Source: AGRyM1vNNoIF7ac7FJSvx3xeilPWFWyQacKVTHzBz3kIUXGiZnk05mw6W5KwHZXqWqp3xsM6HfrbMQ== X-Received: by 2002:a05:6402:40f:b0:436:a6ba:360d with SMTP id q15-20020a056402040f00b00436a6ba360dmr58886717edv.371.1657180626379; Thu, 07 Jul 2022 00:57:06 -0700 (PDT) Received: from Keschdeichel.fritz.box ([2a02:6d40:3a4f:7b00:c19b:938e:7c97:afe2]) by smtp.gmail.com with ESMTPSA id u5-20020a170906068500b00703671ebe65sm18360271ejb.198.2022.07.07.00.57.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Jul 2022 00:57:05 -0700 (PDT) From: christian.ehrhardt@canonical.com To: Chengwen Feng Cc: =?UTF-8?q?Morten=20Br=C3=B8rup?= , Andrew Rybchenko , dpdk stable Subject: patch 'net/hns3: fix xstats get return if xstats is null' has been queued to stable release 19.11.13 Date: Thu, 7 Jul 2022 09:54:30 +0200 Message-Id: <20220707075522.194223-35-christian.ehrhardt@canonical.com> X-Mailer: git-send-email 2.37.0 In-Reply-To: <20220707075522.194223-1-christian.ehrhardt@canonical.com> References: <20220707075522.194223-1-christian.ehrhardt@canonical.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 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 Hi, FYI, your patch has been queued to stable release 19.11.13 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 07/09/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/02922dbbf2ca897b8b706897acec42513d88c6e6 Thanks. Christian Ehrhardt --- >From 02922dbbf2ca897b8b706897acec42513d88c6e6 Mon Sep 17 00:00:00 2001 From: Chengwen Feng Date: Fri, 13 May 2022 10:53:51 +0800 Subject: [PATCH] net/hns3: fix xstats get return if xstats is null MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [ upstream commit e15401f362779dba8623b4ee3db388fdf79dca7f ] Many user (e.g. telemetry) invokes rte_eth_xstats_get(port_id, NULL, 0) to retrieve the required number of elements, but currently hns3 PMD returns zero when xstats is null. Dedicated check for xstats vs null is not required, since ethdev layer guarantees that it may be null only if number of entries n is 0 (which is definitely smaller than total xstats count). Fixes: 8839c5e202f3 ("net/hns3: support device stats") Signed-off-by: Chengwen Feng Acked-by: Morten Brørup Reviewed-by: Andrew Rybchenko --- drivers/net/hns3/hns3_stats.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/net/hns3/hns3_stats.c b/drivers/net/hns3/hns3_stats.c index 97ca66e735..b4bc4f28f3 100644 --- a/drivers/net/hns3/hns3_stats.c +++ b/drivers/net/hns3/hns3_stats.c @@ -558,9 +558,13 @@ hns3_xstats_calc_num(struct rte_eth_dev *dev) * @praram xstats * A pointer to a table of structure of type *rte_eth_xstat* * to be filled with device statistics ids and values. - * This parameter can be set to NULL if n is 0. + * This parameter can be set to NULL if and only if n is 0. * @param n * The size of the xstats array (number of elements). + * If lower than the required number of elements, the function returns the + * required number of elements. + * If equal to zero, the xstats parameter must be NULL, the function returns + * the required number of elements. * @return * 0 on fail, count(The size of the statistics elements) on success. */ @@ -579,9 +583,6 @@ hns3_dev_xstats_get(struct rte_eth_dev *dev, struct rte_eth_xstat *xstats, int count; int ret; - if (xstats == NULL) - return 0; - count = hns3_xstats_calc_num(dev); if ((int)n < count) return count; -- 2.37.0 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-07-07 09:54:12.694278434 +0200 +++ 0035-net-hns3-fix-xstats-get-return-if-xstats-is-null.patch 2022-07-07 09:54:10.873824049 +0200 @@ -1 +1 @@ -From e15401f362779dba8623b4ee3db388fdf79dca7f Mon Sep 17 00:00:00 2001 +From 02922dbbf2ca897b8b706897acec42513d88c6e6 Mon Sep 17 00:00:00 2001 @@ -8,0 +9,2 @@ +[ upstream commit e15401f362779dba8623b4ee3db388fdf79dca7f ] + @@ -18 +19,0 @@ -Cc: stable@dpdk.org @@ -28 +29 @@ -index 2799ff4432..07fad03485 100644 +index 97ca66e735..b4bc4f28f3 100644 @@ -31 +32 @@ -@@ -1031,9 +1031,13 @@ hns3_imissed_stats_get(struct rte_eth_dev *dev, struct rte_eth_xstat *xstats, +@@ -558,9 +558,13 @@ hns3_xstats_calc_num(struct rte_eth_dev *dev) @@ -46 +47 @@ -@@ -1052,9 +1056,6 @@ hns3_dev_xstats_get(struct rte_eth_dev *dev, struct rte_eth_xstat *xstats, +@@ -579,9 +583,6 @@ hns3_dev_xstats_get(struct rte_eth_dev *dev, struct rte_eth_xstat *xstats,