qemu/include/hw/virtio
Xueming Li e867144b73 vhost-user: remove VirtQ notifier restore
Notifier set when vhost-user backend asks qemu to mmap an FD and
offset. When vhost-user backend restart or getting killed, VQ notifier
FD and mmap addresses become invalid. After backend restart, MR contains
the invalid address will be restored and fail on notifier access.

On the other hand, qemu should munmap the notifier, release underlying
hardware resources to enable backend restart and allocate hardware
notifier resources correctly.

Qemu shouldn't reference and use resources of disconnected backend.

This patch removes VQ notifier restore, uses the default vhost-user
notifier to avoid invalid address access.

After backend restart, the backend should ask qemu to install a hardware
notifier if needed.

Fixes: 44866521bd ("vhost-user: support registering external host notifiers")
Cc: qemu-stable@nongnu.org
Signed-off-by: Xueming Li <xuemingl@nvidia.com>
Message-Id: <20220207071929.527149-2-xuemingl@nvidia.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2022-03-04 08:30:52 -05:00
..
vhost-backend.h Revert "vhost: introduce new VhostOps vhost_set_config_call" 2022-01-10 16:02:01 -05:00
vhost-scsi-common.h
vhost-scsi.h
vhost-user-blk.h
vhost-user-fs.h
vhost-user-i2c.h hw/virtio: add boilerplate for vhost-user-i2c device 2021-07-16 11:10:40 -04:00
vhost-user-rng.h vhost-user-rng: Add vhost-user-rng implementation 2021-10-20 04:37:55 -04:00
vhost-user-scsi.h
vhost-user-vsock.h
vhost-user.h vhost-user: remove VirtQ notifier restore 2022-03-04 08:30:52 -05:00
vhost-vdpa.h vhost-vdpa: classify one time request 2021-10-20 04:44:05 -04:00
vhost-vsock-common.h vhost-vsock: handle common features in vhost-vsock-common 2021-10-05 17:30:57 -04:00
vhost-vsock.h vhost-vsock: handle common features in vhost-vsock-common 2021-10-05 17:30:57 -04:00
vhost.h Revert "vhost: add support for configure interrupt" 2022-01-10 16:01:11 -05:00
virtio-access.h
virtio-balloon.h
virtio-blk.h virtio-blk: drop unused virtio_blk_handle_vq() return value 2022-01-12 17:09:39 +00:00
virtio-bus.h virtio-bus: introduce iommu_enabled() 2021-09-04 16:35:17 -04:00
virtio-crypto.h
virtio-gpu-bswap.h virtio-gpu: do not byteswap padding 2021-12-10 09:47:18 +01:00
virtio-gpu-pci.h
virtio-gpu-pixman.h
virtio-gpu.h edid: set default resolution to 1280x800 (WXGA) 2022-01-13 10:59:16 +01:00
virtio-input.h
virtio-iommu.h virtio-iommu: Drop base_name and change generic_name 2021-10-20 04:37:55 -04:00
virtio-mem.h virtio-mem: Support VIRTIO_MEM_F_UNPLUGGED_INACCESSIBLE 2022-01-07 19:30:13 -05:00
virtio-mmio.h hw/virtio: enable ioeventfd configuring for mmio 2021-05-14 10:26:18 -04:00
virtio-net.h virtio-net: vhost control virtqueue support 2021-10-20 04:44:05 -04:00
virtio-pmem.h
virtio-rng.h
virtio-scsi.h
virtio-serial.h
virtio.h virtio: unify dataplane and non-dataplane ->handle_output() 2022-01-12 17:09:39 +00:00