diff options
author | Eugenio Pérez <eperezma@redhat.com> | 2022-08-23 20:20:02 +0200 |
---|---|---|
committer | Jason Wang <jasowang@redhat.com> | 2022-09-02 10:22:39 +0800 |
commit | 10dab9f2635b9bab23a2b29974b526e62bb61268 (patch) | |
tree | 0ce161cbbdb97d1b204d257997a016dc20caf606 | |
parent | 7dd9d7e0bd29abf590d1ac235c0a00606ef81153 (diff) | |
download | qemu-10dab9f2635b9bab23a2b29974b526e62bb61268.zip qemu-10dab9f2635b9bab23a2b29974b526e62bb61268.tar.gz qemu-10dab9f2635b9bab23a2b29974b526e62bb61268.tar.bz2 |
vdpa: Skip the maps not in the iova tree
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>
-rw-r--r-- | hw/virtio/vhost-vdpa.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/hw/virtio/vhost-vdpa.c b/hw/virtio/vhost-vdpa.c index 3ff9ce3..983d369 100644 --- a/hw/virtio/vhost-vdpa.c +++ b/hw/virtio/vhost-vdpa.c @@ -289,6 +289,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); } |