virtio: Prevent creation of device using notification-data with ioeventfd
authorJonah Palmer <jonah.palmer@oracle.com>
Fri, 15 Mar 2024 16:55:53 +0000 (12:55 -0400)
committerMichael S. Tsirkin <mst@redhat.com>
Mon, 1 Jul 2024 18:56:23 +0000 (14:56 -0400)
commit78378f450a723eed34156259ca2861a0c5ca77cf
treeb4fd774183c6359d9e36738f77edf808046db7a9
parentcf39b82860b63589460d8797dd70ae3c1647ccca
virtio: Prevent creation of device using notification-data with ioeventfd

Prevent the realization of a virtio device that attempts to use the
VIRTIO_F_NOTIFICATION_DATA transport feature without disabling
ioeventfd.

Due to ioeventfd not being able to carry the extra data associated with
this feature, having both enabled is a functional mismatch and therefore
Qemu should not continue the device's realization process.

Although the device does not yet know if the feature will be
successfully negotiated, many devices using this feature wont actually
work without this extra data and would fail FEATURES_OK anyway.

If ioeventfd is able to work with the extra notification data in the
future, this compatibility check can be removed.

Signed-off-by: Jonah Palmer <jonah.palmer@oracle.com>
Message-Id: <20240315165557.26942-3-jonah.palmer@oracle.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
hw/virtio/virtio.c