[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v4 02/22] hw/virtio: gracefully handle unset vhost_dev vdev
From: |
Alex Bennée |
Subject: |
[PATCH v4 02/22] hw/virtio: gracefully handle unset vhost_dev vdev |
Date: |
Tue, 2 Aug 2022 10:49:50 +0100 |
I've noticed asserts firing because we query the status of vdev after
a vhost connection is closed down. Rather than faulting on the NULL
indirect just quietly reply false.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20220726192150.2435175-8-alex.bennee@linaro.org>
---
hw/virtio/vhost.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/hw/virtio/vhost.c b/hw/virtio/vhost.c
index 0827d631c0..f758f177bb 100644
--- a/hw/virtio/vhost.c
+++ b/hw/virtio/vhost.c
@@ -306,7 +306,7 @@ static inline void vhost_dev_log_resize(struct vhost_dev
*dev, uint64_t size)
dev->log_size = size;
}
-static int vhost_dev_has_iommu(struct vhost_dev *dev)
+static bool vhost_dev_has_iommu(struct vhost_dev *dev)
{
VirtIODevice *vdev = dev->vdev;
@@ -316,8 +316,12 @@ static int vhost_dev_has_iommu(struct vhost_dev *dev)
* does not have IOMMU, there's no need to enable this feature
* which may cause unnecessary IOTLB miss/update transactions.
*/
- return virtio_bus_device_iommu_enabled(vdev) &&
- virtio_host_has_feature(vdev, VIRTIO_F_IOMMU_PLATFORM);
+ if (vdev) {
+ return virtio_bus_device_iommu_enabled(vdev) &&
+ virtio_host_has_feature(vdev, VIRTIO_F_IOMMU_PLATFORM);
+ } else {
+ return false;
+ }
}
static void *vhost_memory_map(struct vhost_dev *dev, hwaddr addr,
--
2.30.2
- [PATCH v4 for 7.2 00/22] virtio-gpio and various virtio cleanups, Alex Bennée, 2022/08/02
- [PATCH v4 09/22] hw/virtio: add some vhost-user trace events, Alex Bennée, 2022/08/02
- [PATCH v4 03/22] hw/virtio: handle un-configured shutdown in virtio-pci, Alex Bennée, 2022/08/02
- [PATCH v4 06/22] include/hw: document vhost_dev feature life-cycle, Alex Bennée, 2022/08/02
- [PATCH v4 01/22] hw/virtio: incorporate backend features in features, Alex Bennée, 2022/08/02
- [PATCH v4 07/22] hw/virtio: fix some coding style issues, Alex Bennée, 2022/08/02
- [PATCH v4 05/22] include/hw/virtio: more comment for VIRTIO_F_BAD_FEATURE, Alex Bennée, 2022/08/02
- [PATCH v4 17/22] tests/qtest: catch unhandled vhost-user messages, Alex Bennée, 2022/08/02
- [PATCH v4 18/22] tests/qtest: plain g_assert for VHOST_USER_F_PROTOCOL_FEATURES, Alex Bennée, 2022/08/02
- [PATCH v4 02/22] hw/virtio: gracefully handle unset vhost_dev vdev,
Alex Bennée <=
- [PATCH v4 10/22] hw/virtio: move vm_running check to virtio_device_started, Alex Bennée, 2022/08/02
- [PATCH v4 04/22] hw/virtio: fix vhost_user_read tracepoint, Alex Bennée, 2022/08/02
- [PATCH v4 08/22] hw/virtio: log potentially buggy guest drivers, Alex Bennée, 2022/08/02
- [PATCH v4 13/22] hw/virtio: add vhost-user-gpio-pci boilerplate, Alex Bennée, 2022/08/02
- [PATCH v4 14/22] tests/qtest: pass stdout/stderr down to subtests, Alex Bennée, 2022/08/02
- [PATCH v4 16/22] tests/qtest: use qos_printf instead of g_test_message, Alex Bennée, 2022/08/02
- [PATCH v4 11/22] hw/virtio: move vhd->started check into helper and add FIXME, Alex Bennée, 2022/08/02
- [PATCH v4 19/22] tests/qtest: add assert to catch bad features, Alex Bennée, 2022/08/02
- [PATCH v4 15/22] tests/qtest: add a timeout for subprocess_run_one_test, Alex Bennée, 2022/08/02