1
linux/drivers/acpi/apei
Don Zickus abd4d5587b pstore: change mutex locking to spin_locks
pstore was using mutex locking to protect read/write access to the
backend plug-ins.  This causes problems when pstore is executed in
an NMI context through panic() -> kmsg_dump().

This patch changes the mutex to a spin_lock_irqsave then also checks to
see if we are in an NMI context.  If we are in an NMI and can't get the
lock, just print a message stating that and blow by the locking.

All this is probably a hack around the bigger locking problem but it
solves my current situation of trying to sleep in an NMI context.

Tested by loading the lkdtm module and executing a HARDLOCKUP which
will cause the machine to panic inside the nmi handler.

Signed-off-by: Don Zickus <dzickus@redhat.com>
Acked-by: Matthew Garrett <mjg@redhat.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
2011-08-16 11:55:58 -07:00
..
apei-base.c ACPI, APEI, Add WHEA _OSC support 2011-07-13 23:38:49 -04:00
apei-internal.h ACPI, APEI, Add WHEA _OSC support 2011-07-13 23:38:49 -04:00
cper.c ACPI, APEI, Add PCIe AER error information printing support 2011-03-21 22:59:08 -04:00
einj.c ACPI, APEI, EINJ Param support is disabled by default 2011-08-03 11:15:59 -04:00
erst-dbg.c ACPI, APEI, ERST, Fix erst-dbg long record reading issue 2011-07-13 23:31:51 -04:00
erst.c pstore: change mutex locking to spin_locks 2011-08-16 11:55:58 -07:00
ghes.c APEI GHES: 32-bit buildfix 2011-08-03 11:15:59 -04:00
hest.c ACPI, APEI, GHES, Support disable GHES at boot time 2011-07-13 23:36:34 -04:00
Kconfig ACPI, APEI, GHES: Add hardware memory error recovery support 2011-08-03 11:15:58 -04:00
Makefile ACPI, APEI, ERST debug support 2010-08-14 22:47:55 -04:00