[dpdk-stable] patch 'net/sfc/base: fix shift by more bits than field width' has been queued to LTS release 18.11.3

Kevin Traynor ktraynor at redhat.com
Mon Jun 24 17:25:11 CEST 2019


Hi,

FYI, your patch has been queued to LTS release 18.11.3

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/27/19. 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-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/97de70299017f322c67427625b544817bd187c4d

Thanks.

Kevin Traynor

---
>From 97de70299017f322c67427625b544817bd187c4d Mon Sep 17 00:00:00 2001
From: Mark Spender <mspender at solarflare.com>
Date: Mon, 10 Jun 2019 08:38:18 +0100
Subject: [PATCH] net/sfc/base: fix shift by more bits than field width

[ upstream commit 1dcd3a98954075f3218d9bf1d00eaad250f92833 ]

This was probably an oversight when support for multiple sensor pages
was added.

Despite being undefined behaviour in C, it probably worked on Intel
x32/x64 as on them bit shift operations wrap round.

Fixes: dfb3b1ce15f6 ("net/sfc/base: import monitors access via MCDI")

Signed-off-by: Mark Spender <mspender at solarflare.com>
Signed-off-by: Andrew Rybchenko <arybchenko at solarflare.com>
---
 drivers/net/sfc/base/mcdi_mon.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/sfc/base/mcdi_mon.c b/drivers/net/sfc/base/mcdi_mon.c
index b53de0d68..d0247dc44 100644
--- a/drivers/net/sfc/base/mcdi_mon.c
+++ b/drivers/net/sfc/base/mcdi_mon.c
@@ -74,5 +74,6 @@ mcdi_mon_decode_stats(
 		}
 
-		if (~(sensor_mask[page]) & (1U << sensor))
+		if (~(sensor_mask[page]) &
+		    (1U << (sensor % (sizeof (sensor_mask[page]) * 8))))
 			continue;
 		/* This sensor not in DMA buffer */
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-06-24 16:18:57.497081154 +0100
+++ 0047-net-sfc-base-fix-shift-by-more-bits-than-field-width.patch	2019-06-24 16:18:55.094429736 +0100
@@ -1 +1 @@
-From 1dcd3a98954075f3218d9bf1d00eaad250f92833 Mon Sep 17 00:00:00 2001
+From 97de70299017f322c67427625b544817bd187c4d Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 1dcd3a98954075f3218d9bf1d00eaad250f92833 ]
+
@@ -13 +14,0 @@
-Cc: stable at dpdk.org


More information about the stable mailing list