[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] system/runstate: Fix regression, clarify BQL status of exit
From: |
David Woodhouse |
Subject: |
Re: [PATCH] system/runstate: Fix regression, clarify BQL status of exit notifiers |
Date: |
Wed, 15 Jan 2025 19:01:14 +0100 |
User-agent: |
Evolution 3.52.3-0ubuntu1 |
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 <dwmw2@infradead.org>
> Signed-off-by: Phil Dennis-Jordan <phil@philjordan.eu>
Reviewed-by: David Woodhouse <dwmw@amazon.co.uk>
Tested-by: David Woodhouse <dwmw@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