mirror of https://github.com/torvalds/linux.git
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:
|
||
|---|---|---|
| .. | ||
| Kconfig | ||
| Makefile | ||
| coreboot_table.c | ||
| coreboot_table.h | ||
| framebuffer-coreboot.c | ||
| gsmi.c | ||
| memconsole-coreboot.c | ||
| memconsole-x86-legacy.c | ||
| memconsole.c | ||
| memconsole.h | ||
| vpd.c | ||
| vpd_decode.c | ||
| vpd_decode.h | ||