virtio-pci: Changed return values for "notify", "device" and "isr" read.
commitdf07a8f8cb743e0ff86346bcb49fe09240e4be6c
authorAndrew Melnychenko <andrew@daynix.com>
Wed, 9 Jun 2021 09:58:43 +0000 (9 12:58 +0300)
committerMichael S. Tsirkin <mst@redhat.com>
Sat, 3 Jul 2021 05:39:33 +0000 (3 01:39 -0400)
treeb5c544fa80887baa595038541925042f824d2f40
parentbf697371db87cc1a2d04f5e8dda1b4b3e2be0f0d
virtio-pci: Changed return values for "notify", "device" and "isr" read.

At some point, after unplugging virtio-pci the virtio device may be unrealised,
but the memory regions may be present in flatview. So, it's a possible situation
when memory region's callbacks are called for "unplugged" device.

Previous two patches made sure this case does not cause QEMU to crash.
This patch adds check for "notify" memory region. Now reads will return "-1" if a virtio
device is not present on a virtio bus.

Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1938042
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1743098

Signed-off-by: Andrew Melnychenko <andrew@daynix.com>
Message-Id: <20210609095843.141378-4-andrew@daynix.com>
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
Reviewed-by: Raphael Norwitz <raphael.norwitz@nutanix.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
hw/virtio/virtio-pci.c