patch 'net/e1000/base: fix NVM loop bounds and pointer access' has been queued to stable release 24.11.7

luca.boccassi at gmail.com luca.boccassi at gmail.com
Thu Jun 11 15:20:07 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/f2d531aa338901b9fbb20691661e2994ffe04774

Thanks.

Luca Boccassi

---
>From f2d531aa338901b9fbb20691661e2994ffe04774 Mon Sep 17 00:00:00 2001
From: Menachem Fogel <menachem.fogel at intel.com>
Date: Wed, 20 May 2026 12:52:44 +0000
Subject: [PATCH] net/e1000/base: fix NVM loop bounds and pointer access

[ upstream commit 39fba42d04baf045452b224f44dcd9aea38c5b60 ]

Improve the NVM checksum routines by ensuring loop bounds are compared
at the correct integer width. Use array indexing instead of explicit
pointer arithmetic.

Fixes: af75078fece3 ("first public release")

Signed-off-by: Menachem Fogel <menachem.fogel at intel.com>
Signed-off-by: Dima Ruinskiy <dima.ruinskiy at intel.com>
Signed-off-by: Ciara Loftus <ciara.loftus at intel.com>
Acked-by: Bruce Richardson <bruce.richardson at intel.com>
---
 drivers/net/e1000/base/e1000_82575.c  | 4 ++--
 drivers/net/e1000/base/e1000_manage.c | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/net/e1000/base/e1000_82575.c b/drivers/net/e1000/base/e1000_82575.c
index 948c80f2fa..d3946599c3 100644
--- a/drivers/net/e1000/base/e1000_82575.c
+++ b/drivers/net/e1000/base/e1000_82575.c
@@ -2403,7 +2403,7 @@ s32 e1000_validate_nvm_checksum_with_offset(struct e1000_hw *hw, u16 offset)
 
 	DEBUGFUNC("e1000_validate_nvm_checksum_with_offset");
 
-	for (i = offset; i < ((NVM_CHECKSUM_REG + offset) + 1); i++) {
+	for (i = offset; i < (u16)((NVM_CHECKSUM_REG + offset) + 1); i++) {
 		ret_val = hw->nvm.ops.read(hw, i, 1, &nvm_data);
 		if (ret_val) {
 			DEBUGOUT("NVM Read Error\n");
@@ -2440,7 +2440,7 @@ s32 e1000_update_nvm_checksum_with_offset(struct e1000_hw *hw, u16 offset)
 
 	DEBUGFUNC("e1000_update_nvm_checksum_with_offset");
 
-	for (i = offset; i < (NVM_CHECKSUM_REG + offset); i++) {
+	for (i = offset; i < (u16)(NVM_CHECKSUM_REG + offset); i++) {
 		ret_val = hw->nvm.ops.read(hw, i, 1, &nvm_data);
 		if (ret_val) {
 			DEBUGOUT("NVM Read Error while updating checksum.\n");
diff --git a/drivers/net/e1000/base/e1000_manage.c b/drivers/net/e1000/base/e1000_manage.c
index 4b81028302..71df2890f3 100644
--- a/drivers/net/e1000/base/e1000_manage.c
+++ b/drivers/net/e1000/base/e1000_manage.c
@@ -129,7 +129,7 @@ bool e1000_enable_tx_pkt_filtering_generic(struct e1000_hw *hw)
 	len    = E1000_MNG_DHCP_COOKIE_LENGTH >> 2;
 	offset = E1000_MNG_DHCP_COOKIE_OFFSET >> 2;
 	for (i = 0; i < len; i++)
-		*(buffer + i) = E1000_READ_REG_ARRAY_DWORD(hw, E1000_HOST_IF,
+		buffer[i] = E1000_READ_REG_ARRAY_DWORD(hw, E1000_HOST_IF,
 							   offset + i);
 	hdr_csum = hdr->checksum;
 	hdr->checksum = 0;
@@ -173,7 +173,7 @@ s32 e1000_mng_write_cmd_header_generic(struct e1000_hw *hw,
 	/* Write the relevant command block into the ram area. */
 	for (i = 0; i < length; i++) {
 		E1000_WRITE_REG_ARRAY_DWORD(hw, E1000_HOST_IF, i,
-					    *((u32 *) hdr + i));
+						((u32 *)hdr)[i]);
 		E1000_WRITE_FLUSH(hw);
 	}
 
-- 
2.47.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2026-06-11 14:20:03.633518649 +0100
+++ 0058-net-e1000-base-fix-NVM-loop-bounds-and-pointer-acces.patch	2026-06-11 14:20:01.266747246 +0100
@@ -1 +1 @@
-From 39fba42d04baf045452b224f44dcd9aea38c5b60 Mon Sep 17 00:00:00 2001
+From f2d531aa338901b9fbb20691661e2994ffe04774 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 39fba42d04baf045452b224f44dcd9aea38c5b60 ]
+
@@ -11 +12,0 @@
-Cc: stable at dpdk.org
@@ -18,2 +19,2 @@
- drivers/net/intel/e1000/base/e1000_82575.c  | 4 ++--
- drivers/net/intel/e1000/base/e1000_manage.c | 4 ++--
+ drivers/net/e1000/base/e1000_82575.c  | 4 ++--
+ drivers/net/e1000/base/e1000_manage.c | 4 ++--
@@ -22,5 +23,5 @@
-diff --git a/drivers/net/intel/e1000/base/e1000_82575.c b/drivers/net/intel/e1000/base/e1000_82575.c
-index c263f42ca1..8ae2b77d5f 100644
---- a/drivers/net/intel/e1000/base/e1000_82575.c
-+++ b/drivers/net/intel/e1000/base/e1000_82575.c
-@@ -2395,7 +2395,7 @@ s32 e1000_validate_nvm_checksum_with_offset(struct e1000_hw *hw, u16 offset)
+diff --git a/drivers/net/e1000/base/e1000_82575.c b/drivers/net/e1000/base/e1000_82575.c
+index 948c80f2fa..d3946599c3 100644
+--- a/drivers/net/e1000/base/e1000_82575.c
++++ b/drivers/net/e1000/base/e1000_82575.c
+@@ -2403,7 +2403,7 @@ s32 e1000_validate_nvm_checksum_with_offset(struct e1000_hw *hw, u16 offset)
@@ -35 +36 @@
-@@ -2432,7 +2432,7 @@ s32 e1000_update_nvm_checksum_with_offset(struct e1000_hw *hw, u16 offset)
+@@ -2440,7 +2440,7 @@ s32 e1000_update_nvm_checksum_with_offset(struct e1000_hw *hw, u16 offset)
@@ -44 +45 @@
-diff --git a/drivers/net/intel/e1000/base/e1000_manage.c b/drivers/net/intel/e1000/base/e1000_manage.c
+diff --git a/drivers/net/e1000/base/e1000_manage.c b/drivers/net/e1000/base/e1000_manage.c
@@ -46,2 +47,2 @@
---- a/drivers/net/intel/e1000/base/e1000_manage.c
-+++ b/drivers/net/intel/e1000/base/e1000_manage.c
+--- a/drivers/net/e1000/base/e1000_manage.c
++++ b/drivers/net/e1000/base/e1000_manage.c


More information about the stable mailing list