summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorDavid Woodhouse <dwmw@amazon.co.uk>2023-10-24 22:22:47 +0100
committerDavid Woodhouse <dwmw@amazon.co.uk>2023-11-06 10:03:45 +0000
commitdebc995e883b05c2fd02fb797a61ab1328e5bae2 (patch)
tree926feeb5f4ff2c2d60913a1ac6a8e5a7413be6d5
parent4a5780f52095f1daf23618dc6198a2a1665ea505 (diff)
downloadfocaccia-qemu-debc995e883b05c2fd02fb797a61ab1328e5bae2.tar.gz
focaccia-qemu-debc995e883b05c2fd02fb797a61ab1328e5bae2.zip
hw/xen: take iothread mutex in xen_evtchn_reset_op()
The xen_evtchn_soft_reset() function requires the iothread mutex, but is
also called for the EVTCHNOP_reset hypercall. Ensure the mutex is taken
in that case.

Cc: qemu-stable@nongnu.org
Fixes: a15b10978fe6 ("hw/xen: Implement EVTCHNOP_reset")
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
-rw-r--r--hw/i386/kvm/xen_evtchn.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/hw/i386/kvm/xen_evtchn.c b/hw/i386/kvm/xen_evtchn.c
index 3d6f4b4a0a..b2b4be9983 100644
--- a/hw/i386/kvm/xen_evtchn.c
+++ b/hw/i386/kvm/xen_evtchn.c
@@ -1135,6 +1135,7 @@ int xen_evtchn_reset_op(struct evtchn_reset *reset)
         return -ESRCH;
     }
 
+    QEMU_IOTHREAD_LOCK_GUARD();
     return xen_evtchn_soft_reset();
 }