[dpdk-stable] patch 'vhost: fix crash after mmap failure' has been queued to stable release 18.08.1
Kevin Traynor
ktraynor at redhat.com
Fri Dec 14 18:52:00 CET 2018
Hi,
FYI, your patch has been queued to stable release 18.08.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 12/18/18. 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. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.
Thanks.
Kevin Traynor
---
>From 72c7adc36db4aaca11ee4787335ffc8115bcfc2e Mon Sep 17 00:00:00 2001
From: Maxime Coquelin <maxime.coquelin at redhat.com>
Date: Tue, 27 Nov 2018 10:54:51 +0100
Subject: [PATCH] vhost: fix crash after mmap failure
[ upstream commit cf14478d775cadbaed4f5aa96e3812b44a2383c1 ]
If mmap() call fails in vhost_user_set_mem_table, dev->mem
is set to NULL. If later, qva_to_vva() is called, a segfault
occurs.
Fixes: 8f972312b8f4 ("vhost: support vhost-user")
Reviewed-by: Tiwei Bie <tiwei.bie at intel.com>
Signed-off-by: Maxime Coquelin <maxime.coquelin at redhat.com>
Reviewed-by: Jens Freimann <jfreimann at redhat.com>
---
lib/librte_vhost/vhost_user.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/lib/librte_vhost/vhost_user.c b/lib/librte_vhost/vhost_user.c
index ba92d1650..68e9bf8c4 100644
--- a/lib/librte_vhost/vhost_user.c
+++ b/lib/librte_vhost/vhost_user.c
@@ -447,4 +447,7 @@ qva_to_vva(struct virtio_net *dev, uint64_t qva, uint64_t *len)
uint32_t i;
+ if (unlikely(!dev || !dev->mem))
+ goto out_error;
+
/* Find the region where the address lives. */
for (i = 0; i < dev->mem->nregions; i++) {
@@ -461,4 +464,5 @@ qva_to_vva(struct virtio_net *dev, uint64_t qva, uint64_t *len)
}
}
+out_error:
*len = 0;
--
2.19.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2018-12-14 17:49:48.167558800 +0000
+++ 0016-vhost-fix-crash-after-mmap-failure.patch 2018-12-14 17:49:47.000000000 +0000
@@ -1,14 +1,15 @@
-From cf14478d775cadbaed4f5aa96e3812b44a2383c1 Mon Sep 17 00:00:00 2001
+From 72c7adc36db4aaca11ee4787335ffc8115bcfc2e Mon Sep 17 00:00:00 2001
From: Maxime Coquelin <maxime.coquelin at redhat.com>
Date: Tue, 27 Nov 2018 10:54:51 +0100
Subject: [PATCH] vhost: fix crash after mmap failure
+[ upstream commit cf14478d775cadbaed4f5aa96e3812b44a2383c1 ]
+
If mmap() call fails in vhost_user_set_mem_table, dev->mem
is set to NULL. If later, qva_to_vva() is called, a segfault
occurs.
Fixes: 8f972312b8f4 ("vhost: support vhost-user")
-Cc: stable at dpdk.org
Reviewed-by: Tiwei Bie <tiwei.bie at intel.com>
Signed-off-by: Maxime Coquelin <maxime.coquelin at redhat.com>
@@ -18,10 +19,10 @@
1 file changed, 4 insertions(+)
diff --git a/lib/librte_vhost/vhost_user.c b/lib/librte_vhost/vhost_user.c
-index 3ea64eba6..557213491 100644
+index ba92d1650..68e9bf8c4 100644
--- a/lib/librte_vhost/vhost_user.c
+++ b/lib/librte_vhost/vhost_user.c
-@@ -490,4 +490,7 @@ qva_to_vva(struct virtio_net *dev, uint64_t qva, uint64_t *len)
+@@ -447,4 +447,7 @@ qva_to_vva(struct virtio_net *dev, uint64_t qva, uint64_t *len)
uint32_t i;
+ if (unlikely(!dev || !dev->mem))
@@ -29,7 +30,7 @@
+
/* Find the region where the address lives. */
for (i = 0; i < dev->mem->nregions; i++) {
-@@ -504,4 +507,5 @@ qva_to_vva(struct virtio_net *dev, uint64_t qva, uint64_t *len)
+@@ -461,4 +464,5 @@ qva_to_vva(struct virtio_net *dev, uint64_t qva, uint64_t *len)
}
}
+out_error:
More information about the stable
mailing list