patch 'net/e1000: check flex filter mask range' has been queued to stable release 24.11.7

luca.boccassi at gmail.com luca.boccassi at gmail.com
Thu Jun 11 15:21:06 CEST 2026


Hi,

FYI, your patch has been queued to stable release 24.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 06/13/26. 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/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/830127c877aa2bc2ebd7b4865882f4f0faff7d38

Thanks.

Luca Boccassi

---
>From 830127c877aa2bc2ebd7b4865882f4f0faff7d38 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen at networkplumber.org>
Date: Fri, 14 Nov 2025 10:21:31 -0800
Subject: [PATCH] net/e1000: check flex filter mask range
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

[ upstream commit ce19d0ad17886f9f3af5bc16b39e15b00e9a94a2 ]

Gcc-16 complains about possible reference outside of array
when managing flex filter. This is a false positive because the
filter length can never be that long, but compiler can't detect
that. Add guard rail check to only loop over possible array.

../drivers/net/intel/e1000/igb_ethdev.c:4265:23: note: at offset 152 into destination object of size 176 allocated by ‘rte_zmalloc’
 4265 |         flex_filter = rte_zmalloc("e1000_flex_filter",
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 4266 |                         sizeof(struct e1000_flex_filter), 0);
      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../drivers/net/intel/e1000/igb_ethdev.c:4280:50: warning: writing 64 bytes into a region of size 0 [-Wstringop-overflow=]
 4280 |                 flex_filter->filter_info.mask[i] = mask;
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~

Signed-off-by: Stephen Hemminger <stephen at networkplumber.org>
Reviewed-by: Anatoly Burakov <anatoly.burakov at intel.com>
---
 drivers/net/e1000/igb_ethdev.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/e1000/igb_ethdev.c b/drivers/net/e1000/igb_ethdev.c
index 2b7a7f54d2..4262c5446d 100644
--- a/drivers/net/e1000/igb_ethdev.c
+++ b/drivers/net/e1000/igb_ethdev.c
@@ -4203,7 +4203,8 @@ eth_igb_add_del_flex_filter(struct rte_eth_dev *dev,
 	flex_filter->filter_info.len = filter->len;
 	flex_filter->filter_info.priority = filter->priority;
 	memcpy(flex_filter->filter_info.dwords, filter->bytes, filter->len);
-	for (i = 0; i < RTE_ALIGN(filter->len, CHAR_BIT) / CHAR_BIT; i++) {
+	for (i = 0; i < RTE_ALIGN(filter->len, CHAR_BIT) / CHAR_BIT &&
+			i < E1000_FLEX_FILTERS_MASK_SIZE; i++) {
 		mask = 0;
 		/* reverse bits in flex filter's mask*/
 		for (shift = 0; shift < CHAR_BIT; shift++) {
-- 
2.47.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2026-06-11 14:20:05.934571078 +0100
+++ 0117-net-e1000-check-flex-filter-mask-range.patch	2026-06-11 14:20:01.390750259 +0100
@@ -1 +1 @@
-From ce19d0ad17886f9f3af5bc16b39e15b00e9a94a2 Mon Sep 17 00:00:00 2001
+From 830127c877aa2bc2ebd7b4865882f4f0faff7d38 Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit ce19d0ad17886f9f3af5bc16b39e15b00e9a94a2 ]
+
@@ -26 +28 @@
- drivers/net/intel/e1000/igb_ethdev.c | 3 ++-
+ drivers/net/e1000/igb_ethdev.c | 3 ++-
@@ -29,5 +31,5 @@
-diff --git a/drivers/net/intel/e1000/igb_ethdev.c b/drivers/net/intel/e1000/igb_ethdev.c
-index f4e2a6442e..1f51ba6406 100644
---- a/drivers/net/intel/e1000/igb_ethdev.c
-+++ b/drivers/net/intel/e1000/igb_ethdev.c
-@@ -4270,7 +4270,8 @@ eth_igb_add_del_flex_filter(struct rte_eth_dev *dev,
+diff --git a/drivers/net/e1000/igb_ethdev.c b/drivers/net/e1000/igb_ethdev.c
+index 2b7a7f54d2..4262c5446d 100644
+--- a/drivers/net/e1000/igb_ethdev.c
++++ b/drivers/net/e1000/igb_ethdev.c
+@@ -4203,7 +4203,8 @@ eth_igb_add_del_flex_filter(struct rte_eth_dev *dev,


More information about the stable mailing list