patch 'net/i40e: fix unintentional integer overflow' has been queued to stable release 20.11.5

luca.boccassi at gmail.com luca.boccassi at gmail.com
Mon Feb 28 22:20:41 CET 2022


Hi,

FYI, your patch has been queued to stable release 20.11.5

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 03/02/22. 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/2d1c255f3007e1eb4f8cc583babdc63aa5b2a46c

Thanks.

Luca Boccassi

---
>From 2d1c255f3007e1eb4f8cc583babdc63aa5b2a46c Mon Sep 17 00:00:00 2001
From: Steve Yang <stevex.yang at intel.com>
Date: Fri, 25 Feb 2022 02:39:47 +0000
Subject: [PATCH] net/i40e: fix unintentional integer overflow

[ upstream commit df5807658026e7b18493a6c8ebf0e47adee26b4d ]

Cast 1 to type uint64_t to avoid overflow.

CID 375812 (#1 of 1):
Unintentional integer overflow (OVERFLOW_BEFORE_WIDEN)
overflow_before_widen: Potentially overflowing expression 1 << 2 * i + 1
with type int (32 bits, signed) is evaluated using 32-bit arithmetic, and
then used in a context that expects an expression of type uint64_t
(64 bits, unsigned).

Coverity issue: 375812
Fixes: 5fec01c35c49 ("net/i40e: support Linux VF to configure IRQ link list")

Signed-off-by: Steve Yang <stevex.yang at intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit at intel.com>
---
 drivers/net/i40e/i40e_pf.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/net/i40e/i40e_pf.c b/drivers/net/i40e/i40e_pf.c
index ddba055805..7ec8209f09 100644
--- a/drivers/net/i40e/i40e_pf.c
+++ b/drivers/net/i40e/i40e_pf.c
@@ -17,6 +17,7 @@
 #include <rte_ethdev_driver.h>
 #include <rte_malloc.h>
 #include <rte_memcpy.h>
+#include <rte_bitops.h>
 
 #include "i40e_logs.h"
 #include "base/i40e_prototype.h"
@@ -597,14 +598,14 @@ i40e_pf_config_irq_link_list(struct i40e_pf_vf *vf,
 	tempmap = vvm->rxq_map;
 	for (i = 0; i < sizeof(vvm->rxq_map) * BITS_PER_CHAR; i++) {
 		if (tempmap & 0x1)
-			linklistmap |= (1 << (2 * i));
+			linklistmap |= RTE_BIT64(2 * i);
 		tempmap >>= 1;
 	}
 
 	tempmap = vvm->txq_map;
 	for (i = 0; i < sizeof(vvm->txq_map) * BITS_PER_CHAR; i++) {
 		if (tempmap & 0x1)
-			linklistmap |= (1 << (2 * i + 1));
+			linklistmap |= RTE_BIT64(2 * i + 1);
 		tempmap >>= 1;
 	}
 
-- 
2.30.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-02-28 21:17:57.552209559 +0000
+++ 0045-net-i40e-fix-unintentional-integer-overflow.patch	2022-02-28 21:17:54.028933351 +0000
@@ -1 +1 @@
-From df5807658026e7b18493a6c8ebf0e47adee26b4d Mon Sep 17 00:00:00 2001
+From 2d1c255f3007e1eb4f8cc583babdc63aa5b2a46c Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit df5807658026e7b18493a6c8ebf0e47adee26b4d ]
+
@@ -17 +18,0 @@
-Cc: stable at dpdk.org
@@ -22,2 +23,2 @@
- drivers/net/i40e/i40e_pf.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
+ drivers/net/i40e/i40e_pf.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
@@ -26 +27 @@
-index 2435a8a070..15d9ff868f 100644
+index ddba055805..7ec8209f09 100644
@@ -29 +30,9 @@
-@@ -597,14 +597,14 @@ i40e_pf_config_irq_link_list(struct i40e_pf_vf *vf,
+@@ -17,6 +17,7 @@
+ #include <rte_ethdev_driver.h>
+ #include <rte_malloc.h>
+ #include <rte_memcpy.h>
++#include <rte_bitops.h>
+ 
+ #include "i40e_logs.h"
+ #include "base/i40e_prototype.h"
+@@ -597,14 +598,14 @@ i40e_pf_config_irq_link_list(struct i40e_pf_vf *vf,


More information about the stable mailing list