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 7CD4C48A44 for ; Fri, 31 Oct 2025 15:38:38 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7663C40685; Fri, 31 Oct 2025 15:38:38 +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 988524067B for ; Fri, 31 Oct 2025 15:38:37 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1761921517; 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=37MJyrhvhsJDaoYZDGFqT0esrJClSZnZC+sdqLCQXMY=; b=PPudxeOvomSLgY5fHktd/6AkkPiVnB9HS31vKalxSYpPXKs63HYSGL2Ujl3xGUmmMW9rdv HiVlYmuz5JBoXsy2L5oxYagnEbT1F4kdIRNAveFHr0A4kc52ICIMRhNeGCX5coMTdQ9avN ZpJJcxvr34ni2icStoutNSVcICtbxVI= Received: from mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-355-69h17A15OoicoH5rH09F2g-1; Fri, 31 Oct 2025 10:38:32 -0400 X-MC-Unique: 69h17A15OoicoH5rH09F2g-1 X-Mimecast-MFC-AGG-ID: 69h17A15OoicoH5rH09F2g_1761921511 Received: from mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.111]) (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 mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 1943A19540DD; Fri, 31 Oct 2025 14:38:29 +0000 (UTC) Received: from rh.redhat.com (unknown [10.44.32.50]) by mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 3799B18002B5; Fri, 31 Oct 2025 14:38:26 +0000 (UTC) From: Kevin Traynor To: Anatoly Burakov Cc: Bruce Richardson , dpdk stable Subject: patch 'net/ice: fix memory leak in raw pattern parse' has been queued to stable release 24.11.4 Date: Fri, 31 Oct 2025 14:33:24 +0000 Message-ID: <20251031143421.324432-82-ktraynor@redhat.com> In-Reply-To: <20251031143421.324432-1-ktraynor@redhat.com> References: <20251031143421.324432-1-ktraynor@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.111 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: 4tX2HkiMCA-l5_hEpVQwPSbfoNuJfrq49Uni5k_D2uk_1761921511 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 24.11.4 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/25. 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/954d1f68b522fdc9802252931e758fa592603edc Thanks. Kevin --- >From 954d1f68b522fdc9802252931e758fa592603edc Mon Sep 17 00:00:00 2001 From: Anatoly Burakov Date: Fri, 10 Oct 2025 14:13:20 +0100 Subject: [PATCH] net/ice: fix memory leak in raw pattern parse [ upstream commit 3938eeec989181216ea3f9cc8eee931a2915ca5d ] Currently, when parsing rte_flow raw type items, we allocate some internal structures, but if errors happen down the line we just quit and never free the memory we just allocated. Fix this by adding an error cleanup section. Fixes: 848de9572c83 ("net/ice: fix raw flow input pattern parsing") Signed-off-by: Anatoly Burakov Acked-by: Bruce Richardson --- drivers/net/ice/ice_fdir_filter.c | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/drivers/net/ice/ice_fdir_filter.c b/drivers/net/ice/ice_fdir_filter.c index 688f037d2e..990b355203 100644 --- a/drivers/net/ice/ice_fdir_filter.c +++ b/drivers/net/ice/ice_fdir_filter.c @@ -1864,5 +1864,5 @@ ice_fdir_parse_pattern(__rte_unused struct ice_adapter *ad, uint16_t pkt_len = 0; uint8_t tmp = 0; - int i, j; + int i, j, ret_val; pkt_len = strlen((char *)(uintptr_t)raw_spec->pattern); @@ -1919,17 +1919,20 @@ ice_fdir_parse_pattern(__rte_unused struct ice_adapter *ad, pkt_len /= 2; - if (ice_parser_run(ad->psr, tmp_spec, pkt_len, &rslt)) - return -rte_errno; - - if (!tmp_mask) - return -rte_errno; + if (ice_parser_run(ad->psr, tmp_spec, pkt_len, &rslt)) { + ret_val = -rte_errno; + goto raw_error; + } if (ice_parser_profile_init(&rslt, tmp_spec, tmp_mask, - pkt_len, ICE_BLK_FD, true, &filter->prof)) - return -rte_errno; + pkt_len, ICE_BLK_FD, true, &filter->prof)) { + ret_val = -rte_errno; + goto raw_error; + } u8 *pkt_buf = (u8 *)ice_malloc(&ad->hw, pkt_len + 1); - if (!pkt_buf) - return -ENOMEM; + if (!pkt_buf) { + ret_val = -ENOMEM; + goto raw_error; + } rte_memcpy(pkt_buf, tmp_spec, pkt_len); filter->pkt_buf = pkt_buf; @@ -1942,4 +1945,9 @@ ice_fdir_parse_pattern(__rte_unused struct ice_adapter *ad, rte_free(tmp_mask); break; + +raw_error: + rte_free(tmp_spec); + rte_free(tmp_mask); + return ret_val; } -- 2.51.0 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2025-10-31 13:53:54.711999972 +0000 +++ 0082-net-ice-fix-memory-leak-in-raw-pattern-parse.patch 2025-10-31 13:53:52.183523827 +0000 @@ -1 +1 @@ -From 3938eeec989181216ea3f9cc8eee931a2915ca5d Mon Sep 17 00:00:00 2001 +From 954d1f68b522fdc9802252931e758fa592603edc Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 3938eeec989181216ea3f9cc8eee931a2915ca5d ] + @@ -12 +13,0 @@ -Cc: stable@dpdk.org @@ -17 +18 @@ - drivers/net/intel/ice/ice_fdir_filter.c | 28 ++++++++++++++++--------- + drivers/net/ice/ice_fdir_filter.c | 28 ++++++++++++++++++---------- @@ -20,5 +21,5 @@ -diff --git a/drivers/net/intel/ice/ice_fdir_filter.c b/drivers/net/intel/ice/ice_fdir_filter.c -index d593624792..9dfe5c02cb 100644 ---- a/drivers/net/intel/ice/ice_fdir_filter.c -+++ b/drivers/net/intel/ice/ice_fdir_filter.c -@@ -1866,5 +1866,5 @@ ice_fdir_parse_pattern(__rte_unused struct ice_adapter *ad, +diff --git a/drivers/net/ice/ice_fdir_filter.c b/drivers/net/ice/ice_fdir_filter.c +index 688f037d2e..990b355203 100644 +--- a/drivers/net/ice/ice_fdir_filter.c ++++ b/drivers/net/ice/ice_fdir_filter.c +@@ -1864,5 +1864,5 @@ ice_fdir_parse_pattern(__rte_unused struct ice_adapter *ad, @@ -31 +32 @@ -@@ -1921,17 +1921,20 @@ ice_fdir_parse_pattern(__rte_unused struct ice_adapter *ad, +@@ -1919,17 +1919,20 @@ ice_fdir_parse_pattern(__rte_unused struct ice_adapter *ad, @@ -61 +62 @@ -@@ -1944,4 +1947,9 @@ ice_fdir_parse_pattern(__rte_unused struct ice_adapter *ad, +@@ -1942,4 +1945,9 @@ ice_fdir_parse_pattern(__rte_unused struct ice_adapter *ad,