79c4324644
Change-Id: I2d302dda68298877c65c99147f5bf22186a59aac
40 lines
1.3 KiB
Diff
40 lines
1.3 KiB
Diff
From a498bc3ae687778dad2f8161ff17532432df0c1c Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Eugenio=20P=C3=A9rez?= <eperezma@redhat.com>
|
|
Date: Tue, 23 Aug 2022 20:20:02 +0200
|
|
Subject: [PATCH] vdpa: Skip the maps not in the iova tree
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
Next patch will skip the registering of dma maps that the vdpa device
|
|
rejects in the iova tree. We need to consider that here or we cause a
|
|
SIGSEGV accessing result.
|
|
|
|
Reported-by: Lei Yang <leiyang@redhat.com>
|
|
Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
|
|
Acked-by: Jason Wang <jasowang@redhat.com>
|
|
Signed-off-by: Jason Wang <jasowang@redhat.com>
|
|
Signed-off-by: fangyi <eric.fangyi@huawei.com>
|
|
---
|
|
hw/virtio/vhost-vdpa.c | 4 ++++
|
|
1 file changed, 4 insertions(+)
|
|
|
|
diff --git a/hw/virtio/vhost-vdpa.c b/hw/virtio/vhost-vdpa.c
|
|
index d0cf7a0745..c551665f5d 100644
|
|
--- a/hw/virtio/vhost-vdpa.c
|
|
+++ b/hw/virtio/vhost-vdpa.c
|
|
@@ -291,6 +291,10 @@ static void vhost_vdpa_listener_region_del(MemoryListener *listener,
|
|
};
|
|
|
|
result = vhost_iova_tree_find_iova(v->iova_tree, &mem_region);
|
|
+ if (!result) {
|
|
+ /* The memory listener map wasn't mapped */
|
|
+ return;
|
|
+ }
|
|
iova = result->iova;
|
|
vhost_iova_tree_remove(v->iova_tree, result);
|
|
}
|
|
--
|
|
2.27.0
|
|
|