mirror-linux/drivers/firmware
D Scott Phillips 8bf567b63c arm64: sdei: abort running SDEI handlers during crash
commit 5cd474e573 upstream.

Interrupts are blocked in SDEI context, per the SDEI spec: "The client
interrupts cannot preempt the event handler." If we crashed in the SDEI
handler-running context (as with ACPI's AGDI) then we need to clean up the
SDEI state before proceeding to the crash kernel so that the crash kernel
can have working interrupts.

Track the active SDEI handler per-cpu so that we can COMPLETE_AND_RESUME
the handler, discarding the interrupted context.

Fixes: f5df269618 ("arm64: kernel: Add arch-specific SDEI entry code and CPU masking")
Signed-off-by: D Scott Phillips <scott@os.amperecomputing.com>
Cc: stable@vger.kernel.org
Reviewed-by: James Morse <james.morse@arm.com>
Tested-by: Mihai Carabas <mihai.carabas@oracle.com>
Link: https://lore.kernel.org/r/20230627002939.2758-1-scott@os.amperecomputing.com
Signed-off-by: Will Deacon <will@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-09-13 09:43:03 +02:00
..
arm_ffa firmware: arm_ffa: Set handle field to zero in memory descriptor 2023-06-14 11:15:31 +02:00
arm_scmi firmware: arm_scmi: Drop OF node reference in the transport channel setup 2023-08-11 12:08:19 +02:00
broadcom
cirrus firmware: cs_dsp: Fix new control name check 2023-09-13 09:42:44 +02:00
efi x86/efistub: Fix PCI ROM preservation in mixed mode 2023-09-13 09:42:30 +02:00
google firmware: coreboot: framebuffer: Ignore reserved pixel color bits 2023-03-10 09:34:02 +01:00
imx
meson firmware: meson_sm: fix to avoid potential NULL pointer dereference 2023-09-13 09:42:42 +02:00
psci cpuidle: drivers: firmware: psci: Dont instrument suspend code 2023-03-10 09:33:47 +01:00
smccc firmware: smccc: Fix use of uninitialised results structure 2023-08-11 12:08:10 +02:00
tegra
xilinx firmware: xilinx: don't make a sleepable memory allocation from an atomic context 2023-03-22 13:33:56 +01:00
Kconfig
Makefile
arm_scpi.c
arm_sdei.c arm64: sdei: abort running SDEI handlers during crash 2023-09-13 09:43:03 +02:00
dmi-id.c
dmi-sysfs.c firmware: dmi-sysfs: Fix null-ptr-deref in dmi_sysfs_register_handle 2023-03-10 09:33:34 +01:00
dmi_scan.c
edd.c
iscsi_ibft.c
iscsi_ibft_find.c
memmap.c
mtk-adsp-ipc.c
pcdp.c
pcdp.h
qcom_scm-legacy.c
qcom_scm-smc.c
qcom_scm.c firmware: qcom_scm: Clear download bit during reboot 2023-05-11 23:03:10 +09:00
qcom_scm.h
qemu_fw_cfg.c
raspberrypi.c
scpi_pm_domain.c
stratix10-rsu.c
stratix10-svc.c firmware: stratix10-svc: Fix an NULL vs IS_ERR() bug in probe 2023-09-06 21:27:02 +01:00
sysfb.c efi: sysfb_efi: Fix DMI quirks not working for simpledrm 2023-03-30 12:49:22 +02:00
sysfb_simplefb.c efi: sysfb_efi: Fix DMI quirks not working for simpledrm 2023-03-30 12:49:22 +02:00
ti_sci.c firmware: ti_sci: Use system_state to determine polling 2023-09-13 09:42:39 +02:00
ti_sci.h
trusted_foundations.c
turris-mox-rwtm.c