patch 'event/dlb2: add shift value check in sparse dequeue' has been queued to stable release 21.11.1
Kevin Traynor
ktraynor at redhat.com
Tue Mar 8 15:14:18 CET 2022
Hi,
FYI, your patch has been queued to stable release 21.11.1
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/14/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/kevintraynor/dpdk-stable
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/308a87f73bd734a08f6d5d85af800b4d81f601ee
Thanks.
Kevin
---
>From 308a87f73bd734a08f6d5d85af800b4d81f601ee Mon Sep 17 00:00:00 2001
From: Timothy McDaniel <timothy.mcdaniel at intel.com>
Date: Wed, 2 Mar 2022 09:12:08 -0600
Subject: [PATCH] event/dlb2: add shift value check in sparse dequeue
[ upstream commit 8eb6881c52cedf073295e3897d0d1b949802dac3 ]
Add a check to ensure that all shift counts are valid.
Shifting by more than 63 bits may result in undefined behavior, as
noted during coverity scan.
Coverity issue: 376527
Fixes: e697f35dbdd1 ("event/dlb2: update rolling mask used for dequeue")
Signed-off-by: Timothy McDaniel <timothy.mcdaniel at intel.com>
---
drivers/event/dlb2/dlb2.c | 18 ++++++++++--------
1 file changed, 10 insertions(+), 8 deletions(-)
diff --git a/drivers/event/dlb2/dlb2.c b/drivers/event/dlb2/dlb2.c
index 09abdd1660..7789dd74e0 100644
--- a/drivers/event/dlb2/dlb2.c
+++ b/drivers/event/dlb2/dlb2.c
@@ -3917,13 +3917,15 @@ dlb2_hw_dequeue_sparse(struct dlb2_eventdev *dlb2,
&qes[0],
num_avail);
- num += n_iter;
- /* update rolling_mask for vector code support */
- m_rshift = qm_port->cq_rolling_mask >> n_iter;
- m_lshift = qm_port->cq_rolling_mask << (64 - n_iter);
- m2_rshift = qm_port->cq_rolling_mask_2 >> n_iter;
- m2_lshift = qm_port->cq_rolling_mask_2 <<
+ if (n_iter != 0) {
+ num += n_iter;
+ /* update rolling_mask for vector code support */
+ m_rshift = qm_port->cq_rolling_mask >> n_iter;
+ m_lshift = qm_port->cq_rolling_mask << (64 - n_iter);
+ m2_rshift = qm_port->cq_rolling_mask_2 >> n_iter;
+ m2_lshift = qm_port->cq_rolling_mask_2 <<
(64 - n_iter);
- qm_port->cq_rolling_mask = (m_rshift | m2_lshift);
- qm_port->cq_rolling_mask_2 = (m2_rshift | m_lshift);
+ qm_port->cq_rolling_mask = (m_rshift | m2_lshift);
+ qm_port->cq_rolling_mask_2 = (m2_rshift | m_lshift);
+ }
} else { /* !use_scalar */
num_avail = dlb2_recv_qe_sparse_vec(qm_port,
--
2.34.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2022-03-08 13:55:28.571360822 +0000
+++ 0003-event-dlb2-add-shift-value-check-in-sparse-dequeue.patch 2022-03-08 13:55:28.386314860 +0000
@@ -1 +1 @@
-From 8eb6881c52cedf073295e3897d0d1b949802dac3 Mon Sep 17 00:00:00 2001
+From 308a87f73bd734a08f6d5d85af800b4d81f601ee Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 8eb6881c52cedf073295e3897d0d1b949802dac3 ]
+
@@ -12 +13,0 @@
-Cc: stable at dpdk.org
More information about the stable
mailing list