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 6067F4326F for ; Thu, 2 Nov 2023 14:14:31 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 56F7442DE6; Thu, 2 Nov 2023 14:14:31 +0100 (CET) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mails.dpdk.org (Postfix) with ESMTP id 467F642DDB for ; Thu, 2 Nov 2023 14:14:29 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1698930868; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=UnifRcUsQ2mnJjaLmpCesUH57wiMsrSAj/04F8EIx7E=; b=FmgZ6ceQbWPSZzem3NnFuwpBtPuls9EbsEOmfA3NzYqu0WgY4Q1o59lsy9P2Sw07UR5X+H 0syF0g7lJkYh1lUxW2T7GGtvrJzE9Fd/vEG6E+fpHkaOGRDO1RtYHrNeUVGPUotNs0Zprl dhwenjPwpiyuW4ooEIQQoKRAnnemsUY= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-547-MpCGx5zaPFauQ4Mu3ooctg-1; Thu, 02 Nov 2023 09:14:25 -0400 X-MC-Unique: MpCGx5zaPFauQ4Mu3ooctg-1 Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com [10.11.54.10]) (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 mimecast-mx02.redhat.com (Postfix) with ESMTPS id B525882BA81; Thu, 2 Nov 2023 13:14:24 +0000 (UTC) Received: from rh.redhat.com (unknown [10.39.192.45]) by smtp.corp.redhat.com (Postfix) with ESMTP id C4BD0474FA0; Thu, 2 Nov 2023 13:14:23 +0000 (UTC) From: Kevin Traynor To: Bruce Richardson Cc: Qi Zhang , dpdk stable Subject: patch 'net/i40e: fix buffer leak on Rx reconfiguration' has been queued to stable release 21.11.6 Date: Thu, 2 Nov 2023 13:12:03 +0000 Message-ID: <20231102131254.315947-57-ktraynor@redhat.com> In-Reply-To: <20231102131254.315947-1-ktraynor@redhat.com> References: <20231102131254.315947-1-ktraynor@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.10 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII"; x-default=true 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 21.11.6 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/08/23. 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/kevintraynor/dpdk-stable This queued commit can be viewed at: https://github.com/kevintraynor/dpdk-stable/commit/13662a31d2e40a3e89f1a3741163d2dfcb6f16f2 Thanks. Kevin --- >From 13662a31d2e40a3e89f1a3741163d2dfcb6f16f2 Mon Sep 17 00:00:00 2001 From: Bruce Richardson Date: Thu, 31 Aug 2023 13:33:34 +0100 Subject: [PATCH] net/i40e: fix buffer leak on Rx reconfiguration [ upstream commit 56dcaa41325a8a347ba52e5d89dce5e8dafa7f8c ] When reconfiguring a single queue on a device, the mbuf initializer value was not getting set, and remained at zero. This lead to mbuf leaks as the refcount was incorrect (0), so on free it wrapped around to UINT16_MAX. When setting up the mbuf initializer, also ensure that the queue is explicitly marked as using a vector function by setting the "rx_using_sse" flag. Fixes: a3c83a2527e1 ("net/i40e: enable runtime queue setup") Signed-off-by: Bruce Richardson Acked-by: Qi Zhang --- drivers/net/i40e/i40e_rxtx.c | 6 ++++++ drivers/net/i40e/i40e_rxtx_vec_common.h | 1 + 2 files changed, 7 insertions(+) diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c index 1c9e51fe2e..8a277dfe31 100644 --- a/drivers/net/i40e/i40e_rxtx.c +++ b/drivers/net/i40e/i40e_rxtx.c @@ -1918,4 +1918,10 @@ i40e_dev_rx_queue_setup_runtime(struct rte_eth_dev *dev, ad->rx_bulk_alloc_allowed = false; i40e_set_rx_function(dev); + + if (ad->rx_vec_allowed && i40e_rxq_vec_setup(rxq)) { + PMD_DRV_LOG(ERR, "Failed vector rx setup."); + return -EINVAL; + } + return 0; } else if (ad->rx_vec_allowed && !rte_is_power_of_2(rxq->nb_rx_desc)) { diff --git a/drivers/net/i40e/i40e_rxtx_vec_common.h b/drivers/net/i40e/i40e_rxtx_vec_common.h index f9a7f46550..489ea0b1f6 100644 --- a/drivers/net/i40e/i40e_rxtx_vec_common.h +++ b/drivers/net/i40e/i40e_rxtx_vec_common.h @@ -202,4 +202,5 @@ i40e_rxq_vec_setup_default(struct i40e_rx_queue *rxq) p = (uintptr_t)&mb_def.rearm_data; rxq->mbuf_initializer = *(uint64_t *)p; + rxq->rx_using_sse = 1; return 0; } -- 2.41.0 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-11-02 13:09:42.213434831 +0000 +++ 0057-net-i40e-fix-buffer-leak-on-Rx-reconfiguration.patch 2023-11-02 13:09:40.866163506 +0000 @@ -1 +1 @@ -From 56dcaa41325a8a347ba52e5d89dce5e8dafa7f8c Mon Sep 17 00:00:00 2001 +From 13662a31d2e40a3e89f1a3741163d2dfcb6f16f2 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 56dcaa41325a8a347ba52e5d89dce5e8dafa7f8c ] + @@ -14 +15,0 @@ -Cc: stable@dpdk.org @@ -24 +25 @@ -index f37bf30d56..9aa5facb53 100644 +index 1c9e51fe2e..8a277dfe31 100644 @@ -27 +28 @@ -@@ -1919,4 +1919,10 @@ i40e_dev_rx_queue_setup_runtime(struct rte_eth_dev *dev, +@@ -1918,4 +1918,10 @@ i40e_dev_rx_queue_setup_runtime(struct rte_eth_dev *dev, @@ -39 +40 @@ -index fe1a6ec75e..8b745630e4 100644 +index f9a7f46550..489ea0b1f6 100644