linux/arch
Song Shuai bb80a79112 riscv: kexec: Avoid deadlock in kexec crash path
[ Upstream commit c562ba719d ]

If the kexec crash code is called in the interrupt context, the
machine_kexec_mask_interrupts() function will trigger a deadlock while
trying to acquire the irqdesc spinlock and then deactivate irqchip in
irq_set_irqchip_state() function.

Unlike arm64, riscv only requires irq_eoi handler to complete EOI and
keeping irq_set_irqchip_state() will only leave this possible deadlock
without any use. So we simply remove it.

Link: https://lore.kernel.org/linux-riscv/20231208111015.173237-1-songshuaishuai@tinylab.org/
Fixes: b17d19a531 ("riscv: kexec: Fixup irq controller broken in kexec crash path")
Signed-off-by: Song Shuai <songshuaishuai@tinylab.org>
Reviewed-by: Ryo Takakura <takakura@valinux.co.jp>
Link: https://lore.kernel.org/r/20240626023316.539971-1-songshuaishuai@tinylab.org
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2024-07-18 13:07:31 +02:00
..
alpha alpha: remove __init annotation from exported page_is_ram() 2023-08-16 18:22:03 +02:00
arc ARC: [plat-hsdk]: Remove misplaced interrupt-cells property 2024-05-02 16:24:44 +02:00
arm ARM: dts: rockchip: rk3066a: add #sound-dai-cells to hdmi node 2024-07-05 09:14:52 +02:00
arm64 arm64: dts: rockchip: Add sound-dai-cells for RK3368 2024-07-05 09:14:52 +02:00
csky csky, hexagon: fix broken sys_sync_file_range 2024-07-05 09:14:48 +02:00
h8300 h8300: Fix build errors from do_exit() to make_task_dead() transition 2023-02-01 08:27:21 +01:00
hexagon hexagon: fix fadvise64_64 calling conventions 2024-07-05 09:14:48 +02:00
ia64 arch: Introduce CONFIG_FUNCTION_ALIGNMENT 2024-04-10 16:18:49 +02:00
m68k m68k: mac: Fix reboot hang on Mac IIci 2024-06-16 13:39:25 +02:00
microblaze microblaze: Remove early printk call from cpuinfo-static.c 2024-06-16 13:39:38 +02:00
mips syscalls: fix compat_sys_io_pgetevents_time64 usage 2024-07-05 09:14:50 +02:00
nds32 exit: Add and use make_task_dead. 2023-02-01 08:27:20 +01:00
nios2 nios2: dts: Fix tse_mac "max-frame-size" property 2023-06-21 15:59:14 +02:00
openrisc openrisc: Fix pagewalk usage in arch_dma_{clear, set}_uncached 2024-04-10 16:19:42 +02:00
parisc parisc: use generic sys_fanotify_mark implementation 2024-07-05 09:14:45 +02:00
powerpc powerpc/xmon: Check cpu id in commands "c#", "dp#" and "dx#" 2024-07-18 13:07:29 +02:00
riscv riscv: kexec: Avoid deadlock in kexec crash path 2024-07-18 13:07:31 +02:00
s390 KVM: s390: fix LPSWEY handling 2024-07-18 13:07:30 +02:00
sh sh: rework sync_file_range ABI 2024-07-05 09:14:48 +02:00
sparc syscalls: fix compat_sys_io_pgetevents_time64 usage 2024-07-05 09:14:50 +02:00
um um: Fix the -Wmissing-prototypes warning for __switch_mm 2024-06-16 13:39:44 +02:00
x86 efi/x86: Free EFI memory map only when installing a new one. 2024-07-05 09:14:51 +02:00
xtensa xtensa: boot/lib: fix function prototypes 2023-10-06 13:18:14 +02:00
.gitignore .gitignore: prefix local generated files with a slash 2021-05-02 00:43:35 +09:00
Kconfig cpu: Re-enable CPU mitigations by default for !X86 architectures 2024-05-02 16:24:48 +02:00