qemu-e2k/hw/vfio
Zhenzhong Duan 357bd7932a vfio/pci: Fix a segfault in vfio_realize
The kvm irqchip notifier is only registered if the device supports
INTx, however it's unconditionally removed in vfio realize error
path. If the assigned device does not support INTx, this will cause
QEMU to crash when vfio realize fails. Change it to conditionally
remove the notifier only if the notify hook is setup.

Before fix:
(qemu) device_add vfio-pci,host=81:11.1,id=vfio1,bus=root1,xres=1
Connection closed by foreign host.

After fix:
(qemu) device_add vfio-pci,host=81:11.1,id=vfio1,bus=root1,xres=1
Error: vfio 0000:81:11.1: xres and yres properties require display=on
(qemu)

Fixes: c5478fea27 ("vfio/pci: Respond to KVM irqchip change notifier")
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Reviewed-by: Joao Martins <joao.m.martins@oracle.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>
2023-06-30 06:02:51 +02:00
..
amd-xgbe.c
ap.c
calxeda-xgmac.c
ccw.c hw/vfio/ccw: Replace DO_UPCAST(VFIOCCWDevice) by VFIO_CCW() 2023-02-27 09:15:38 +01:00
common.c vfio/migration: Make VFIO migration non-experimental 2023-06-30 06:02:51 +02:00
display.c *: Add missing includes of qemu/error-report.h 2023-03-22 15:06:57 +00:00
igd.c *: Add missing includes of qemu/error-report.h 2023-03-22 15:06:57 +00:00
Kconfig
meson.build
migration.c vfio/migration: Make VFIO migration non-experimental 2023-06-30 06:02:51 +02:00
pci-quirks.c hw/vfio/pci-quirks: Support alternate offset for GPUDirect Cliques 2023-06-30 06:02:51 +02:00
pci.c vfio/pci: Fix a segfault in vfio_realize 2023-06-30 06:02:51 +02:00
pci.h vfio/pci: add support for VF token 2023-05-09 09:30:13 -06:00
platform.c
spapr.c Replace qemu_real_host_page variables with inlined functions 2022-04-06 10:50:38 +02:00
trace-events vfio/migration: Make VFIO migration non-experimental 2023-06-30 06:02:51 +02:00
trace.h