patch 'net/e1000/base: fix data type in MAC hash' has been queued to stable release 24.11.2
Kevin Traynor
ktraynor at redhat.com
Thu Feb 13 10:59:00 CET 2025
Hi,
FYI, your patch has been queued to stable release 24.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/17/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/03970ad00903050b49da5e3b11431b77bff89656
Thanks.
Kevin
---
>From 03970ad00903050b49da5e3b11431b77bff89656 Mon Sep 17 00:00:00 2001
From: Barbara Skobiej <barbara.skobiej at intel.com>
Date: Thu, 6 Feb 2025 16:08:41 +0000
Subject: [PATCH] net/e1000/base: fix data type in MAC hash
[ upstream commit 458734aaac3225d98aeee5f4c45b3d39a7d82949 ]
One of the bit shifts in MAC hash calculation triggers a static analysis
warning about a potential overflow. Fix the data type to avoid this.
Fixes: af75078fece3 ("first public release")
Signed-off-by: Barbara Skobiej <barbara.skobiej at intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov at intel.com>
Acked-by: Bruce Richardson <bruce.richardson at intel.com>
---
drivers/net/e1000/base/e1000_mac.c | 6 ++++--
drivers/net/e1000/base/e1000_vf.c | 6 ++++--
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/drivers/net/e1000/base/e1000_mac.c b/drivers/net/e1000/base/e1000_mac.c
index 2b8482e114..5bb77d9e09 100644
--- a/drivers/net/e1000/base/e1000_mac.c
+++ b/drivers/net/e1000/base/e1000_mac.c
@@ -542,6 +542,8 @@ u32 e1000_hash_mc_addr_generic(struct e1000_hw *hw, u8 *mc_addr)
}
- hash_value = hash_mask & (((mc_addr[4] >> (8 - bit_shift)) |
- (((u16) mc_addr[5]) << bit_shift)));
+ hash_value = (u32)mc_addr[4];
+ hash_value = hash_value >> (8 - bit_shift);
+ hash_value |= (((u32)mc_addr[5]) << bit_shift);
+ hash_value &= hash_mask;
return hash_value;
diff --git a/drivers/net/e1000/base/e1000_vf.c b/drivers/net/e1000/base/e1000_vf.c
index 3d0383fcbb..fc30357c17 100644
--- a/drivers/net/e1000/base/e1000_vf.c
+++ b/drivers/net/e1000/base/e1000_vf.c
@@ -346,6 +346,8 @@ STATIC u32 e1000_hash_mc_addr_vf(struct e1000_hw *hw, u8 *mc_addr)
bit_shift++;
- hash_value = hash_mask & (((mc_addr[4] >> (8 - bit_shift)) |
- (((u16) mc_addr[5]) << bit_shift)));
+ hash_value = (u32)mc_addr[4];
+ hash_value = hash_value >> (8 - bit_shift);
+ hash_value |= (((u32)mc_addr[5]) << bit_shift);
+ hash_value &= hash_mask;
return hash_value;
--
2.48.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-02-12 17:29:44.510569224 +0000
+++ 0093-net-e1000-base-fix-data-type-in-MAC-hash.patch 2025-02-12 17:29:34.566947218 +0000
@@ -1 +1 @@
-From 458734aaac3225d98aeee5f4c45b3d39a7d82949 Mon Sep 17 00:00:00 2001
+From 03970ad00903050b49da5e3b11431b77bff89656 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 458734aaac3225d98aeee5f4c45b3d39a7d82949 ]
+
@@ -10 +11,0 @@
-Cc: stable at dpdk.org
@@ -16,2 +17,2 @@
- drivers/net/intel/e1000/base/e1000_mac.c | 6 ++++--
- drivers/net/intel/e1000/base/e1000_vf.c | 6 ++++--
+ drivers/net/e1000/base/e1000_mac.c | 6 ++++--
+ drivers/net/e1000/base/e1000_vf.c | 6 ++++--
@@ -20 +21 @@
-diff --git a/drivers/net/intel/e1000/base/e1000_mac.c b/drivers/net/intel/e1000/base/e1000_mac.c
+diff --git a/drivers/net/e1000/base/e1000_mac.c b/drivers/net/e1000/base/e1000_mac.c
@@ -22,2 +23,2 @@
---- a/drivers/net/intel/e1000/base/e1000_mac.c
-+++ b/drivers/net/intel/e1000/base/e1000_mac.c
+--- a/drivers/net/e1000/base/e1000_mac.c
++++ b/drivers/net/e1000/base/e1000_mac.c
@@ -35 +36 @@
-diff --git a/drivers/net/intel/e1000/base/e1000_vf.c b/drivers/net/intel/e1000/base/e1000_vf.c
+diff --git a/drivers/net/e1000/base/e1000_vf.c b/drivers/net/e1000/base/e1000_vf.c
@@ -37,2 +38,2 @@
---- a/drivers/net/intel/e1000/base/e1000_vf.c
-+++ b/drivers/net/intel/e1000/base/e1000_vf.c
+--- a/drivers/net/e1000/base/e1000_vf.c
++++ b/drivers/net/e1000/base/e1000_vf.c
More information about the stable
mailing list