Revision 73d604a4bc5641d38680dbac3e90e368db9549a3 authored by Kevin Wolf on 15 March 2024, 15:59:49 UTC, committed by Michael Tokarev on 27 March 2024, 06:39:28 UTC
VDUSE requires that virtqueues are first enabled before the DRIVER_OK status flag is set; with the current API of the kernel module, it is impossible to enable the opposite order in our block export code because userspace is not notified when a virtqueue is enabled. This requirement also mathces the normal initialisation order as done by the generic vhost code in QEMU. However, commit 6c482547 accidentally changed the order for vdpa-dev and broke access to VDUSE devices with this. This changes vdpa-dev to use the normal order again and use the standard vhost callback .vhost_set_vring_enable for this. VDUSE devices can be used with vdpa-dev again after this fix. vhost_net intentionally avoided enabling the vrings for vdpa and does this manually later while it does enable them for other vhost backends. Reflect this in the vhost_net code and return early for vdpa, so that the behaviour doesn't change for this device. Cc: qemu-stable@nongnu.org Fixes: 6c4825476a43 ('vdpa: move vhost_vdpa_set_vring_ready to the caller') Signed-off-by: Kevin Wolf <kwolf@redhat.com> Message-ID: <20240315155949.86066-1-kwolf@redhat.com> Reviewed-by: Eugenio Pérez <eperezma@redhat.com> Reviewed-by: Stefano Garzarella <sgarzare@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com> (cherry picked from commit 2c66de61f88dc9620a32239f7dd61524a57f66b0) Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
1 parent 784ebe5
File | Mode | Size |
---|---|---|
tpm | ||
Kconfig | -rw-r--r-- | 19 bytes |
confidential-guest-support.c | -rw-r--r-- | 751 bytes |
cryptodev-builtin.c | -rw-r--r-- | 18.8 KB |
cryptodev-hmp-cmds.c | -rw-r--r-- | 1.6 KB |
cryptodev-lkcf.c | -rw-r--r-- | 19.7 KB |
cryptodev-vhost-user.c | -rw-r--r-- | 11.8 KB |
cryptodev-vhost.c | -rw-r--r-- | 8.8 KB |
cryptodev.c | -rw-r--r-- | 20.2 KB |
dbus-vmstate.c | -rw-r--r-- | 14.5 KB |
dbus-vmstate1.xml | -rw-r--r-- | 1.4 KB |
hostmem-epc.c | -rw-r--r-- | 2.0 KB |
hostmem-file.c | -rw-r--r-- | 9.6 KB |
hostmem-memfd.c | -rw-r--r-- | 4.8 KB |
hostmem-ram.c | -rw-r--r-- | 1.4 KB |
hostmem.c | -rw-r--r-- | 17.8 KB |
meson.build | -rw-r--r-- | 942 bytes |
rng-builtin.c | -rw-r--r-- | 1.8 KB |
rng-egd.c | -rw-r--r-- | 4.1 KB |
rng-random.c | -rw-r--r-- | 3.7 KB |
rng.c | -rw-r--r-- | 3.0 KB |
trace-events | -rw-r--r-- | 248 bytes |
trace.h | -rw-r--r-- | 34 bytes |
vhost-user.c | -rw-r--r-- | 4.6 KB |
Computing file changes ...