On Sun, 2025-01-12 at 22:26 +0100, Phil Dennis-Jordan wrote: > By changing the way the main QEMU event loop is invoked, I inadvertently > changed the BQL status of exit notifiers: some of them implicitly > assumed they would be called with the BQL held; the BQL is however > not held during the exit(status) call in qemu_default_main(). > > Instead of attempting to ensuring we always call exit() from the BQL - > including any transitive calls - this change adds a BQL lock guard to > qemu_run_exit_notifiers, ensuring the BQL will always be held in the > exit notifiers. > > Additionally, the BQL promise is now documented at the > qemu_{add,remove}_exit_notifier() declarations. > > Fixes: f5ab12caba4f ("ui & main loop: Redesign of system-specific main > thread event handling") > Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2771 > Reported-by: David Woodhouse <dw...@infradead.org> > Signed-off-by: Phil Dennis-Jordan <p...@philjordan.eu>
Reviewed-by: David Woodhouse <d...@amazon.co.uk> Tested-by: David Woodhouse <d...@amazon.co.uk> (Sorry, I thought I'd done that already). Is someone else going to pick this up, or should I round it up with the Xen fixes for which I'm likely to send a pull request tomorrow?
smime.p7s
Description: S/MIME cryptographic signature