[dpdk-stable] patch 'vhost: validate index in inflight API' has been queued to stable release 19.11.6
luca.boccassi at gmail.com
luca.boccassi at gmail.com
Mon Nov 9 19:40:32 CET 2020
Hi,
FYI, your patch has been queued to stable release 19.11.6
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 11/11/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/bluca/dpdk-stable
This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/4a20f64e544bdefdca8332bc790aef591ac401e5
Thanks.
Luca Boccassi
---
>From 4a20f64e544bdefdca8332bc790aef591ac401e5 Mon Sep 17 00:00:00 2001
From: Maxime Coquelin <maxime.coquelin at redhat.com>
Date: Mon, 19 Oct 2020 19:34:13 +0200
Subject: [PATCH] vhost: validate index in inflight API
[ upstream commit d2475e890307a6edd9fdfcfc83b82d543881545e ]
This patch validates the queue index parameter, in order
to ensure neither out-of-bound accesses nor NULL pointer
dereferencing happen.
Fixes: 4d891f77ddfa ("vhost: add APIs to get inflight ring")
Signed-off-by: Maxime Coquelin <maxime.coquelin at redhat.com>
Reviewed-by: Chenbo Xia <chenbo.xia at intel.com>
---
lib/librte_vhost/vhost.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/lib/librte_vhost/vhost.c b/lib/librte_vhost/vhost.c
index 2e3dd0e0cf..9f3eadeba6 100644
--- a/lib/librte_vhost/vhost.c
+++ b/lib/librte_vhost/vhost.c
@@ -1505,15 +1505,23 @@ rte_vhost_get_vring_base_from_inflight(int vid,
uint16_t *last_used_idx)
{
struct rte_vhost_inflight_info_packed *inflight_info;
+ struct vhost_virtqueue *vq;
struct virtio_net *dev = get_device(vid);
if (dev == NULL || last_avail_idx == NULL || last_used_idx == NULL)
return -1;
+ if (queue_id >= VHOST_MAX_VRING)
+ return -1;
+
+ vq = dev->virtqueue[queue_id];
+ if (!vq)
+ return -1;
+
if (!vq_is_packed(dev))
return -1;
- inflight_info = dev->virtqueue[queue_id]->inflight_packed;
+ inflight_info = vq->inflight_packed;
if (!inflight_info)
return -1;
--
2.27.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2020-11-09 18:40:12.914445641 +0000
+++ 0044-vhost-validate-index-in-inflight-API.patch 2020-11-09 18:40:11.167311842 +0000
@@ -1 +1 @@
-From d2475e890307a6edd9fdfcfc83b82d543881545e Mon Sep 17 00:00:00 2001
+From 4a20f64e544bdefdca8332bc790aef591ac401e5 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit d2475e890307a6edd9fdfcfc83b82d543881545e ]
+
@@ -11 +12,0 @@
-Cc: stable at dpdk.org
@@ -20 +21 @@
-index b9afe46ca2..f78bdfcc94 100644
+index 2e3dd0e0cf..9f3eadeba6 100644
@@ -23 +24 @@
-@@ -1523,15 +1523,23 @@ rte_vhost_get_vring_base_from_inflight(int vid,
+@@ -1505,15 +1505,23 @@ rte_vhost_get_vring_base_from_inflight(int vid,
More information about the stable
mailing list