[dpdk-stable] patch 'bus/vmbus: fix ring buffer mapping' has been queued to LTS release 18.11.10

Kevin Traynor ktraynor at redhat.com
Fri Jul 17 18:31:58 CEST 2020


Hi,

FYI, your patch has been queued to LTS release 18.11.10

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 07/23/20. 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/fca3fc1aebc3dc92eb14f74eeb0c9227775ad391

Thanks.

Kevin.

---
>From fca3fc1aebc3dc92eb14f74eeb0c9227775ad391 Mon Sep 17 00:00:00 2001
From: Long Li <longli at microsoft.com>
Date: Thu, 11 Jun 2020 17:48:25 -0700
Subject: [PATCH] bus/vmbus: fix ring buffer mapping

[ upstream commit 1aef0aef3615d8b8d9d82cbb2d42afc2ae2bce7f ]

vmbus_map_addr is used as the next start virtual address for mapping ring
buffer. However it's updated based on ring_buf, which is a pointer to an
address on the stack. The next ring buffer may be mapped to an unexpected
address.

Fix this by calculating vmbus_map_addr based on returned virtual address.

Fixes: 3f9277031a2e ("bus/vmbus: fix check for mmap failure")

Signed-off-by: Long Li <longli at microsoft.com>
Acked-by: Stephen Hemminger <stephen at networkplumber.org>
---
 drivers/bus/vmbus/linux/vmbus_uio.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/bus/vmbus/linux/vmbus_uio.c b/drivers/bus/vmbus/linux/vmbus_uio.c
index 308ba00893..97ad3ebf9f 100644
--- a/drivers/bus/vmbus/linux/vmbus_uio.c
+++ b/drivers/bus/vmbus/linux/vmbus_uio.c
@@ -244,5 +244,5 @@ static int vmbus_uio_map_subchan(const struct rte_vmbus_device *dev,
 	*ring_buf = mapaddr;
 
-	vmbus_map_addr = RTE_PTR_ADD(ring_buf, file_size);
+	vmbus_map_addr = RTE_PTR_ADD(mapaddr, file_size);
 	return 0;
 }
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-07-17 17:17:00.563732243 +0100
+++ 0010-bus-vmbus-fix-ring-buffer-mapping.patch	2020-07-17 17:16:59.977771489 +0100
@@ -1 +1 @@
-From 1aef0aef3615d8b8d9d82cbb2d42afc2ae2bce7f Mon Sep 17 00:00:00 2001
+From fca3fc1aebc3dc92eb14f74eeb0c9227775ad391 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 1aef0aef3615d8b8d9d82cbb2d42afc2ae2bce7f ]
+
@@ -14 +15,0 @@
-Cc: stable at dpdk.org
@@ -23 +24 @@
-index 5451bfd150..5dc0c47de6 100644
+index 308ba00893..97ad3ebf9f 100644
@@ -26 +27 @@
-@@ -243,5 +243,5 @@ static int vmbus_uio_map_subchan(const struct rte_vmbus_device *dev,
+@@ -244,5 +244,5 @@ static int vmbus_uio_map_subchan(const struct rte_vmbus_device *dev,



More information about the stable mailing list