mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-07 01:33:56 -06:00
virtio: postpone the execution of event_notifier_cleanup function
Use the EventNotifier's cleanup callback function to execute the event_notifier_cleanup function after kvm unregistered the eventfd. This change supports running the virtio_bus_set_host_notifier function inside a memory region transaction. Otherwise, a closed fd is sent to kvm, which results in a failure. Signed-off-by: Gal Hammer <ghammer@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
f87d72f5c5
commit
4fe6d78b2e
2 changed files with 15 additions and 8 deletions
|
@ -812,6 +812,10 @@ static void kvm_mem_ioeventfd_del(MemoryListener *listener,
|
|||
if (r < 0) {
|
||||
abort();
|
||||
}
|
||||
|
||||
if (e->cleanup) {
|
||||
e->cleanup(e);
|
||||
}
|
||||
}
|
||||
|
||||
static void kvm_io_ioeventfd_add(MemoryListener *listener,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue