patch 'net/ice: fix memory leaks in raw pattern parsing' has been queued to stable release 21.11.8

Kevin Traynor ktraynor at redhat.com
Fri Aug 23 18:19:03 CEST 2024


Hi,

FYI, your patch has been queued to stable release 21.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 08/28/24. 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/709ee2dfaab9cc92f0216cacf6867362ea2e5302

Thanks.

Kevin

---
>From 709ee2dfaab9cc92f0216cacf6867362ea2e5302 Mon Sep 17 00:00:00 2001
From: Vladimir Medvedkin <vladimir.medvedkin at intel.com>
Date: Mon, 22 Jul 2024 13:50:44 +0000
Subject: [PATCH] net/ice: fix memory leaks in raw pattern parsing

[ upstream commit 8044e1d19db3d0012bd1348cb4fcf542d31cd41a ]

This patch fixes possible memory leaks inside the
ice_hash_parse_raw_pattern() due to the lack of a call to rte_free() for
previously allocated pkt_buf and msk_buf.

Fixes: 1b9c68120a1c ("net/ice: enable protocol agnostic flow offloading in RSS")

Reported-by: Michael Theodore Stolarchuk <mike.stolarchuk at arista.com>
Signed-off-by: Vladimir Medvedkin <vladimir.medvedkin at intel.com>
Acked-by: Bruce Richardson <bruce.richardson at intel.com>
---
 .mailmap                   |  1 +
 drivers/net/ice/ice_hash.c | 22 ++++++++++++++--------
 2 files changed, 15 insertions(+), 8 deletions(-)

diff --git a/.mailmap b/.mailmap
index 8b2d737827..528065d28d 100644
--- a/.mailmap
+++ b/.mailmap
@@ -915,4 +915,5 @@ Michael Savisko <michaelsav at nvidia.com>
 Michael Shamis <michaelsh at marvell.com>
 Michael S. Tsirkin <mst at redhat.com>
+Michael Theodore Stolarchuk <mike.stolarchuk at arista.com>
 Michael Wildt <michael.wildt at broadcom.com>
 Michal Berger <michallinuxstuff at gmail.com>
diff --git a/drivers/net/ice/ice_hash.c b/drivers/net/ice/ice_hash.c
index 52646e9408..6fcfc5fc4c 100644
--- a/drivers/net/ice/ice_hash.c
+++ b/drivers/net/ice/ice_hash.c
@@ -658,5 +658,5 @@ ice_hash_parse_raw_pattern(struct ice_adapter *ad,
 	uint8_t tmp_val = 0;
 	uint8_t tmp_c = 0;
-	int i, j;
+	int i, j, ret = 0;
 
 	if (ad->psr == NULL)
@@ -678,6 +678,8 @@ ice_hash_parse_raw_pattern(struct ice_adapter *ad,
 
 	msk_buf = rte_zmalloc(NULL, pkt_len, 0);
-	if (!msk_buf)
+	if (!msk_buf) {
+		rte_free(pkt_buf);
 		return -ENOMEM;
+	}
 
 	/* convert string to int array */
@@ -716,16 +718,20 @@ ice_hash_parse_raw_pattern(struct ice_adapter *ad,
 	}
 
-	if (ice_parser_run(ad->psr, pkt_buf, pkt_len, &rslt))
-		return -rte_errno;
+	ret = ice_parser_run(ad->psr, pkt_buf, pkt_len, &rslt);
+	if (ret)
+		goto free_mem;
 
-	if (ice_parser_profile_init(&rslt, pkt_buf, msk_buf,
-		pkt_len, ICE_BLK_RSS, true, &prof))
-		return -rte_errno;
+	ret = ice_parser_profile_init(&rslt, pkt_buf, msk_buf,
+			pkt_len, ICE_BLK_RSS, true, &prof);
+	if (ret)
+		goto free_mem;
 
 	rte_memcpy(&meta->raw.prof, &prof, sizeof(prof));
 
+free_mem:
 	rte_free(pkt_buf);
 	rte_free(msk_buf);
-	return 0;
+
+	return ret;
 }
 
-- 
2.46.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2024-08-23 17:18:13.130535014 +0100
+++ 0115-net-ice-fix-memory-leaks-in-raw-pattern-parsing.patch	2024-08-23 17:18:09.864430608 +0100
@@ -1 +1 @@
-From 8044e1d19db3d0012bd1348cb4fcf542d31cd41a Mon Sep 17 00:00:00 2001
+From 709ee2dfaab9cc92f0216cacf6867362ea2e5302 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 8044e1d19db3d0012bd1348cb4fcf542d31cd41a ]
+
@@ -11 +12,0 @@
-Cc: stable at dpdk.org
@@ -22 +23 @@
-index a6088813cc..541ca895a4 100644
+index 8b2d737827..528065d28d 100644
@@ -25 +26 @@
-@@ -979,4 +979,5 @@ Michael Savisko <michaelsav at nvidia.com>
+@@ -915,4 +915,5 @@ Michael Savisko <michaelsav at nvidia.com>
@@ -32 +33 @@
-index f923641533..6b3095e2c5 100644
+index 52646e9408..6fcfc5fc4c 100644
@@ -35 +36 @@
-@@ -651,5 +651,5 @@ ice_hash_parse_raw_pattern(struct ice_adapter *ad,
+@@ -658,5 +658,5 @@ ice_hash_parse_raw_pattern(struct ice_adapter *ad,
@@ -42 +43 @@
-@@ -671,6 +671,8 @@ ice_hash_parse_raw_pattern(struct ice_adapter *ad,
+@@ -678,6 +678,8 @@ ice_hash_parse_raw_pattern(struct ice_adapter *ad,
@@ -52 +53 @@
-@@ -709,16 +711,20 @@ ice_hash_parse_raw_pattern(struct ice_adapter *ad,
+@@ -716,16 +718,20 @@ ice_hash_parse_raw_pattern(struct ice_adapter *ad,



More information about the stable mailing list