[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 44/63] vdpa net: zero vhost_vdpa iova_tree pointer at cleanup
|
From: |
Michael S. Tsirkin |
|
Subject: |
[PULL 44/63] vdpa net: zero vhost_vdpa iova_tree pointer at cleanup |
|
Date: |
Wed, 4 Oct 2023 04:45:32 -0400 |
From: Eugenio Pérez <eperezma@redhat.com>
Not zeroing it causes a SIGSEGV if the live migration is cancelled, at
net device restart.
This is caused because CVQ tries to reuse the iova_tree that is present
in the first vhost_vdpa device at the end of vhost_vdpa_net_cvq_start.
As a consequence, it tries to access an iova_tree that has been already
free.
Fixes: 00ef422e9fbf ("vdpa net: move iova tree creation from init to start")
Reported-by: Yanhui Ma <yama@redhat.com>
Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
Message-Id: <20230913123408.2819185-1-eperezma@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Tested-by: Lei Yang <leiyang@redhat.com>
Reviewed-by: Si-Wei Liu <si-wei.liu@oracle.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
net/vhost-vdpa.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/net/vhost-vdpa.c b/net/vhost-vdpa.c
index 94635fcbee..fe519d908d 100644
--- a/net/vhost-vdpa.c
+++ b/net/vhost-vdpa.c
@@ -405,6 +405,8 @@ static void vhost_vdpa_net_client_stop(NetClientState *nc)
dev = s->vhost_vdpa.dev;
if (dev->vq_index + dev->nvqs == dev->vq_index_end) {
g_clear_pointer(&s->vhost_vdpa.iova_tree, vhost_iova_tree_delete);
+ } else {
+ s->vhost_vdpa.iova_tree = NULL;
}
}
--
MST
- [PULL 27/63] vhost-user: flatten "enforce_reply" into "vhost_user_write_sync", (continued)
- [PULL 27/63] vhost-user: flatten "enforce_reply" into "vhost_user_write_sync", Michael S. Tsirkin, 2023/10/04
- [PULL 21/63] qmp: remove virtio_list, search QOM tree instead, Michael S. Tsirkin, 2023/10/04
- [PULL 28/63] vhost-user: hoist "write_sync", "get_features", "get_u64", Michael S. Tsirkin, 2023/10/04
- [PULL 30/63] vhost-user: call VHOST_USER_SET_VRING_ENABLE synchronously, Michael S. Tsirkin, 2023/10/04
- [PULL 29/63] vhost-user: allow "vhost_set_vring" to wait for a reply, Michael S. Tsirkin, 2023/10/04
- [PULL 32/63] tests/acpi: Allow update of DSDT.cxl, Michael S. Tsirkin, 2023/10/04
- [PULL 50/63] vdpa net: fix error message setting virtio status, Michael S. Tsirkin, 2023/10/04
- [PULL 44/63] vdpa net: zero vhost_vdpa iova_tree pointer at cleanup,
Michael S. Tsirkin <=
- [PULL 39/63] hw/i386: Remove now redundant TYPE_ACPI_GED_X86, Michael S. Tsirkin, 2023/10/04
- [PULL 31/63] hw/isa/ich9: Add comment on imperfect emulation of PIC vs. I/O APIC routing, Michael S. Tsirkin, 2023/10/04
- [PULL 37/63] hw/acpi/acpi_dev_interface: Remove now unused madt_cpu virtual method, Michael S. Tsirkin, 2023/10/04
- [PULL 34/63] tests/acpi: Update DSDT.cxl with QTG DSM, Michael S. Tsirkin, 2023/10/04
- [PULL 36/63] hw/acpi/cpu: Have build_cpus_aml() take a build_madt_cpu_fn callback, Michael S. Tsirkin, 2023/10/04
- [PULL 38/63] hw/acpi/acpi_dev_interface: Remove now unused #include "hw/boards.h", Michael S. Tsirkin, 2023/10/04
- [PULL 41/63] hw/acpi: Trace GPE access in all device models, not just PIIX4, Michael S. Tsirkin, 2023/10/04
- [PULL 49/63] hw/pci-bridge/cxl-upstream: Add serial number extended capability support, Michael S. Tsirkin, 2023/10/04
- [PULL 33/63] hw/cxl: Add QTG _DSM support for ACPI0017 device, Michael S. Tsirkin, 2023/10/04