[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v4 08/22] hw/virtio: log potentially buggy guest drivers
From: |
Alex Bennée |
Subject: |
[PATCH v4 08/22] hw/virtio: log potentially buggy guest drivers |
Date: |
Tue, 2 Aug 2022 10:49:56 +0100 |
If the guest driver attempts to use the UNUSED(30) bit it is
potentially buggy as 6.3 Legacy Interface: Reserved Feature Bits
states it "SHOULD NOT be negotiated". For now just log this guest
error.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Acked-by: Jason Wang <jasowang@redhat.com>
---
hw/virtio/virtio.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c
index 5d607aeaa0..97a6307c0f 100644
--- a/hw/virtio/virtio.c
+++ b/hw/virtio/virtio.c
@@ -2980,6 +2980,13 @@ int virtio_set_features(VirtIODevice *vdev, uint64_t val)
if (vdev->status & VIRTIO_CONFIG_S_FEATURES_OK) {
return -EINVAL;
}
+
+ if (val & (1ull << VIRTIO_F_BAD_FEATURE)) {
+ qemu_log_mask(LOG_GUEST_ERROR,
+ "%s: guest driver for %s has enabled UNUSED(30) feature
bit!\n",
+ __func__, vdev->name);
+ }
+
ret = virtio_set_features_nocheck(vdev, val);
if (virtio_vdev_has_feature(vdev, VIRTIO_RING_F_EVENT_IDX)) {
/* VIRTIO_RING_F_EVENT_IDX changes the size of the caches. */
--
2.30.2
- [PATCH v4 03/22] hw/virtio: handle un-configured shutdown in virtio-pci, (continued)
- [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, 2022/08/02
- [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 <=
- [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
- [PATCH v4 20/22] tests/qtest: implement stub for VHOST_USER_GET_CONFIG, Alex Bennée, 2022/08/02
- [PATCH v4 21/22] tests/qtest: add a get_features op to vhost-user-test, Alex Bennée, 2022/08/02
- [PATCH v4 12/22] hw/virtio: add boilerplate for vhost-user-gpio device, Alex Bennée, 2022/08/02