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 B0572A04E6; Fri, 30 Oct 2020 18:32:21 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 5FDE866DB; Fri, 30 Oct 2020 18:30:13 +0100 (CET) Received: from new2-smtp.messagingengine.com (new2-smtp.messagingengine.com [66.111.4.224]) by dpdk.org (Postfix) with ESMTP id BA2F75916; Fri, 30 Oct 2020 18:30:01 +0100 (CET) Received: from compute2.internal (compute2.nyi.internal [10.202.2.42]) by mailnew.nyi.internal (Postfix) with ESMTP id 6C81E580650; Fri, 30 Oct 2020 13:30:00 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute2.internal (MEProxy); Fri, 30 Oct 2020 13:30:00 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h= from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; s=fm2; bh=/Y5/EqEdDQ0Db PZpnSB+FUPG32EN2onxRQIoXMDga+A=; b=cCTXbz9esZtiHbcKrYlF8lHhROKPw iuZSyQ4USPRSiSftAmNtVvjlilpdDInfkqnWhrvod6d7BRIjXOpdmGGVMHk7Jg5l sxx2wEL6OkqvLvmnABwKx0fUh2hv7tsYkDKPRPW7vktp/1Bzw5HZeClmR81+6SBj WGK9doM+U0LCeA1X/hJCC55sONzECB+r6a2ZGKfgHXJU/ce9GP19lTFTtlL4q/T1 3z7azu5lE8ppD7NsbEUP4RCIoOeveiDg0teVVPQio2uIfSSnhq0SU1MPvE5ReSVt ofXCGFJWTDSRW+re0K2fyIQp/V7q042viV4LxaM6NH6UmTrlf5uDc+/dw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:date:from :in-reply-to:message-id:mime-version:references:subject:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm1; bh=/Y5/EqEdDQ0DbPZpnSB+FUPG32EN2onxRQIoXMDga+A=; b=YORhtQBQ C2vRzC64mPYFnjqUl3vB5ALYM9elLRMpKWPclvFcz0vbFfOac+M6oqwGazARChV3 cwU2ccyV12Aq5ZUJqcymPbgQIOKZkNt5q4XoYeRLsKkRyv8Pv24KB1J9wEl6SM/B up2D35LnNbaRq1S9a9Groqj71dks1C80RT//C1NhFaYZq/dlkp+aLHcEobc9r1ne tJf9olpDal+IrJUU7xIvm4I6yfEOICOoD2P/U54Kiw9bvv3jDBdErsOWbWBiGltg JEVExp/nwyrS6tBYPaAoPhorwyWn9P/Xj433STnab1VOORodzHmOikx46yA3FzdA BmU2SAh+4i8LXg== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedujedrleehgdeliecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefhvffufffkofgjfhgggfestdekredtredttdenucfhrhhomhepvfhhohhmrghs ucfoohhnjhgrlhhonhcuoehthhhomhgrshesmhhonhhjrghlohhnrdhnvghtqeenucggtf frrghtthgvrhhnpedvhefgiedvjeegtdevheefhfetleefgfeivefgffevfeejgedtgfeu tdehtdegveenucfkphepjeejrddufeegrddvtdefrddukeegnecuvehluhhsthgvrhfuih iivgepjeenucfrrghrrghmpehmrghilhhfrhhomhepthhhohhmrghssehmohhnjhgrlhho nhdrnhgvth X-ME-Proxy: Received: from xps.monjalon.net (184.203.134.77.rev.sfr.net [77.134.203.184]) by mail.messagingengine.com (Postfix) with ESMTPA id C822D306467E; Fri, 30 Oct 2020 13:29:58 -0400 (EDT) From: Thomas Monjalon To: dev@dpdk.org Cc: ferruh.yigit@intel.com, david.marchand@redhat.com, bruce.richardson@intel.com, olivier.matz@6wind.com, andrew.rybchenko@oktetlabs.ru, akhil.goyal@nxp.com, jerinj@marvell.com, stable@dpdk.org, Matan Azrad , Shahaf Shuler , Viacheslav Ovsiienko , Ori Kam Date: Fri, 30 Oct 2020 18:29:32 +0100 Message-Id: <20201030172940.1073558-8-thomas@monjalon.net> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201030172940.1073558-1-thomas@monjalon.net> References: <20201026052105.1561859-1-thomas@monjalon.net> <20201030172940.1073558-1-thomas@monjalon.net> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH v5 07/15] net/mlx5: fix dynamic mbuf offset lookup check 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" The functions rte_mbuf_dynfield_lookup() and rte_mbuf_dynflag_lookup() can return an offset starting with 0 or a negative error code. In reality the first offsets are probably reserved forever, but for the sake of strict API compliance, the checks which considered 0 as an error are fixed. Fixes: efa79e68c8cd ("net/mlx5: support fine grain dynamic flag") Fixes: 3172c471b86f ("net/mlx5: prepare Tx queue structures to support timestamp") Fixes: 0febfcce3693 ("net/mlx5: prepare Tx to support scheduling") Cc: stable@dpdk.org Signed-off-by: Thomas Monjalon --- drivers/net/mlx5/mlx5_rxtx.c | 4 ++-- drivers/net/mlx5/mlx5_trigger.c | 2 +- drivers/net/mlx5/mlx5_txq.c | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/net/mlx5/mlx5_rxtx.c b/drivers/net/mlx5/mlx5_rxtx.c index b530ff421f..e86468b67a 100644 --- a/drivers/net/mlx5/mlx5_rxtx.c +++ b/drivers/net/mlx5/mlx5_rxtx.c @@ -5661,9 +5661,9 @@ mlx5_select_tx_function(struct rte_eth_dev *dev) } if (tx_offloads & DEV_TX_OFFLOAD_SEND_ON_TIMESTAMP && rte_mbuf_dynflag_lookup - (RTE_MBUF_DYNFLAG_TX_TIMESTAMP_NAME, NULL) > 0 && + (RTE_MBUF_DYNFLAG_TX_TIMESTAMP_NAME, NULL) >= 0 && rte_mbuf_dynfield_lookup - (RTE_MBUF_DYNFIELD_TIMESTAMP_NAME, NULL) > 0) { + (RTE_MBUF_DYNFIELD_TIMESTAMP_NAME, NULL) >= 0) { /* Offload configured, dynamic entities registered. */ olx |= MLX5_TXOFF_CONFIG_TXPP; } diff --git a/drivers/net/mlx5/mlx5_trigger.c b/drivers/net/mlx5/mlx5_trigger.c index 7735f022a3..917b433c4a 100644 --- a/drivers/net/mlx5/mlx5_trigger.c +++ b/drivers/net/mlx5/mlx5_trigger.c @@ -302,7 +302,7 @@ mlx5_dev_start(struct rte_eth_dev *dev) DRV_LOG(DEBUG, "port %u starting device", dev->data->port_id); fine_inline = rte_mbuf_dynflag_lookup (RTE_PMD_MLX5_FINE_GRANULARITY_INLINE, NULL); - if (fine_inline > 0) + if (fine_inline >= 0) rte_net_mlx5_dynf_inline_mask = 1UL << fine_inline; else rte_net_mlx5_dynf_inline_mask = 0; diff --git a/drivers/net/mlx5/mlx5_txq.c b/drivers/net/mlx5/mlx5_txq.c index af84f5f72b..8ed2bcff7b 100644 --- a/drivers/net/mlx5/mlx5_txq.c +++ b/drivers/net/mlx5/mlx5_txq.c @@ -1305,7 +1305,7 @@ mlx5_txq_dynf_timestamp_set(struct rte_eth_dev *dev) (RTE_MBUF_DYNFLAG_TX_TIMESTAMP_NAME, NULL); off = rte_mbuf_dynfield_lookup (RTE_MBUF_DYNFIELD_TIMESTAMP_NAME, NULL); - if (nbit > 0 && off >= 0 && sh->txpp.refcnt) + if (nbit >= 0 && off >= 0 && sh->txpp.refcnt) mask = 1ULL << nbit; for (i = 0; i != priv->txqs_n; ++i) { data = (*priv->txqs)[i]; -- 2.28.0