Thread (65 messages) 65 messages, 14 authors, 2022-08-17

Re: [PATCH v2 03/13] firmware: google: Test spinlock on panic path to avoid lockups

From: "Guilherme G. Piccoli" <gpiccoli@igalia.com>
Date: 2022-08-08 15:15:20
Also in: kexec, linux-efi, linux-hyperv, lkml

On 08/08/2022 02:07, Evan Green wrote:
On Tue, Jul 19, 2022 at 12:55 PM Guilherme G. Piccoli
[off-list ref] wrote:
quoted
Currently the gsmi driver registers a panic notifier as well as
reboot and die notifiers. The callbacks registered are called in
atomic and very limited context - for instance, panic disables
preemption and local IRQs, also all secondary CPUs (not executing
the panic path) are shutdown.

With that said, taking a spinlock in this scenario is a dangerous
invitation for lockup scenarios. So, fix that by checking if the
spinlock is free to acquire in the panic notifier callback - if not,
bail-out and avoid a potential hang.

Fixes: 74c5b31c6618 ("driver: Google EFI SMI")
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: David Gow <redacted>
Cc: Evan Green <redacted>
Cc: Julius Werner <jwerner@chromium.org>
Signed-off-by: Guilherme G. Piccoli <gpiccoli@igalia.com>
Reviewed-by: Evan Green <redacted>
Thanks a bunch Evan!

Ard / Greg, do you think you could get this patch through your -next (or
-fixes) trees? Not sure which tree is the most common for picking GSMI
stuff.

I'm trying to get these fixes merged individually in their trees to not
stall the whole series and increase the burden of re-submitting.
Thanks in advance,


Guilherme
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help