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 70FBFA00C2 for ; Thu, 3 Nov 2022 10:33:15 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 65F1340694; Thu, 3 Nov 2022 10:33:15 +0100 (CET) Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) by mails.dpdk.org (Postfix) with ESMTP id 78B3D427EC for ; Thu, 3 Nov 2022 10:33:14 +0100 (CET) Received: by mail-wm1-f41.google.com with SMTP id t1so690025wmi.4 for ; Thu, 03 Nov 2022 02:33:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=q4XZJi9fmDtnYotxyjBBe8jXCgZMMNvpni5eRAnj4mM=; b=XMdJuHnbCrCbprvj2UrT1jtKxaHVpKWV58tGh50RH976dQ+hXahOoxif6US4A4QPz8 Lxzmwih4/B5VN9m74W4e/j+xg4n+1Pm0J9H5jy76K79zyNAoHzu3n5EcW5PzQ+6ajkaR rK16afcQxNNJTPjF915wBolTm7m8NrNKEj7YnCVZR3T8xWE7yQ7RwXKkvGHWXZGdtXjb iIvia7XOlhUUcshz8fwjXn9+CdMscRFuf7XkBrTmnDfTmgIxNmOT/ZOP5kTdrbDac0Hs EVxqkATXEsFgr7grq15un03qxYtj0410n3bGcSz23jTFvXrJ1qKPHPkuMLH9mq4nHFCn dtpg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=q4XZJi9fmDtnYotxyjBBe8jXCgZMMNvpni5eRAnj4mM=; b=tCcnCrw3d70bqJ1lAcPoFDQseY/o0Q7lvXhyJyST85BipmhyWFwYQ+iPNNVjc27Q6+ ptrX5u/1AC0EVkLERccz1t7oVFpzJtTSRzWCe8YC48DEmD6KJGdyndmXLSpeAW2/9xeS HIv8qw/F2q91VbWXV034SBwN1R/iq/5fuZIWv+XG/SBrskQXoCldt1auP5Pm2ZXOUsbO ZmJI+bSRyipnRSCgzJs26qZMWatNxDhlonU024cN5Q5bRAqJILmuwRiCHhj91Z2LDF7q opUKd61EHZQV8uwnRGxwQLv80HPzJ+kXForw4E1zpWUXe5FO+3LdSBz6mKxw3zgm/1K5 0hYw== X-Gm-Message-State: ACrzQf3xeT0tVmK5ceuL+A2fvY67LCHPFeCR1RbEws9WTymhu3Z9Z8Cl HjlPwx+GHGj1aE754iAfUH3fCjyMpalRdSFl X-Google-Smtp-Source: AMsMyM6AFTLLig1DVJRGYZ7poaB9jm7EuQsMWgKJ4fLs0dFjtQ5mTVA9qEh6wr/qPFFQIm/N5lEizw== X-Received: by 2002:a05:600c:1553:b0:3c6:e12d:6f32 with SMTP id f19-20020a05600c155300b003c6e12d6f32mr27951152wmg.109.1667467994166; Thu, 03 Nov 2022 02:33:14 -0700 (PDT) Received: from localhost ([137.220.119.58]) by smtp.gmail.com with ESMTPSA id r22-20020a05600c35d600b003c6f1732f65sm5158121wmq.38.2022.11.03.02.33.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Nov 2022 02:33:13 -0700 (PDT) From: luca.boccassi@gmail.com To: Long Wu Cc: =?UTF-8?q?Niklas=20S=C3=B6derlund?= , Chaoyong He , dpdk stable Subject: patch 'net/nfp: fix memory leak in Rx' has been queued to stable release 20.11.7 Date: Thu, 3 Nov 2022 09:27:50 +0000 Message-Id: <20221103092758.1099402-92-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20221103092758.1099402-1-luca.boccassi@gmail.com> References: <20221103092758.1099402-1-luca.boccassi@gmail.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 20.11.7 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/05/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/kevintraynor/dpdk-stable This queued commit can be viewed at: https://github.com/kevintraynor/dpdk-stable/commit/8975b80d61bcbb4f55f59eb93901f1104cd882e4 Thanks. Luca Boccassi --- >From 8975b80d61bcbb4f55f59eb93901f1104cd882e4 Mon Sep 17 00:00:00 2001 From: Long Wu Date: Thu, 22 Sep 2022 15:09:44 +0200 Subject: [PATCH] net/nfp: fix memory leak in Rx MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [ upstream commit bb340f56fcb7bac9ec04c1c1ca7a2a4f3012c848 ] nfp_net_recv_pkts() should not return a value that less than 0 and the inappropriate return value in receive loop also causes the memory leak. Modify code to avoid return a value less than 0. Furthermore, When nfp_net_recv_pkts() break out from the receive loop because of packet problems, a rte_mbuf will not be freed and it will cause memory leak. Free the rte_mbuf before break out. Fixes: b812daadad0d ("nfp: add Rx and Tx") Signed-off-by: Long Wu Signed-off-by: Niklas Söderlund Reviewed-by: Chaoyong He --- drivers/net/nfp/nfp_net.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c index 4fa0bcc9e7..1c2b676676 100644 --- a/drivers/net/nfp/nfp_net.c +++ b/drivers/net/nfp/nfp_net.c @@ -2041,8 +2041,9 @@ nfp_net_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts) struct rte_mbuf *new_mb; uint16_t nb_hold; uint64_t dma_addr; - int avail; + uint16_t avail; + avail = 0; rxq = rx_queue; if (unlikely(rxq == NULL)) { /* @@ -2050,11 +2051,10 @@ nfp_net_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts) * enabled. But the queue needs to be configured */ RTE_LOG_DP(ERR, PMD, "RX Bad queue\n"); - return -EINVAL; + return avail; } hw = rxq->hw; - avail = 0; nb_hold = 0; while (avail < nb_pkts) { @@ -2120,7 +2120,8 @@ nfp_net_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts) hw->rx_offset, rxq->mbuf_size - hw->rx_offset, mb->data_len); - return -EINVAL; + rte_pktmbuf_free(mb); + break; } /* Filling the received mbuf with packet info */ -- 2.34.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-03 09:27:31.125868676 +0000 +++ 0092-net-nfp-fix-memory-leak-in-Rx.patch 2022-11-03 09:27:25.557426003 +0000 @@ -1 +1 @@ -From bb340f56fcb7bac9ec04c1c1ca7a2a4f3012c848 Mon Sep 17 00:00:00 2001 +From 8975b80d61bcbb4f55f59eb93901f1104cd882e4 Mon Sep 17 00:00:00 2001 @@ -8,0 +9,2 @@ +[ upstream commit bb340f56fcb7bac9ec04c1c1ca7a2a4f3012c848 ] + @@ -17 +18,0 @@ -Cc: stable@dpdk.org @@ -23 +24 @@ - drivers/net/nfp/nfp_rxtx.c | 9 +++++---- + drivers/net/nfp/nfp_net.c | 9 +++++---- @@ -26,5 +27,5 @@ -diff --git a/drivers/net/nfp/nfp_rxtx.c b/drivers/net/nfp/nfp_rxtx.c -index c1a1aba539..b8c874d315 100644 ---- a/drivers/net/nfp/nfp_rxtx.c -+++ b/drivers/net/nfp/nfp_rxtx.c -@@ -247,8 +247,9 @@ nfp_net_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts) +diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c +index 4fa0bcc9e7..1c2b676676 100644 +--- a/drivers/net/nfp/nfp_net.c ++++ b/drivers/net/nfp/nfp_net.c +@@ -2041,8 +2041,9 @@ nfp_net_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts) @@ -41 +42 @@ -@@ -256,11 +257,10 @@ nfp_net_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts) +@@ -2050,11 +2051,10 @@ nfp_net_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts) @@ -54 +55 @@ -@@ -326,7 +326,8 @@ nfp_net_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts) +@@ -2120,7 +2120,8 @@ nfp_net_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts)