ivshmem: fix memory_region_del_eventfd assertion failure

We do not register ioeventfds unless the IVSHMEM_IOEVENTFD feature
is set.  The same feature must be checked before releasing the eventfds.
Regression introduced by commit 563027c (ivshmem: use EventNotifier and
memory API, 2012-07-05).

Reported-by: Cam Macdonnell <cam@cs.ualberta.ca>
Tested-by: Cam Macdonnell <cam@cs.ualberta.ca>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
Paolo Bonzini 2012-08-22 23:09:47 +02:00 committed by Anthony Liguori
parent da5a44e8b0
commit 98609cd8fc

View File

@ -366,6 +366,10 @@ static void close_guest_eventfds(IVShmemState *s, int posn)
{ {
int i, guest_curr_max; int i, guest_curr_max;
if (!ivshmem_has_feature(s, IVSHMEM_IOEVENTFD)) {
return;
}
guest_curr_max = s->peers[posn].nb_eventfds; guest_curr_max = s->peers[posn].nb_eventfds;
memory_region_transaction_begin(); memory_region_transaction_begin();