[V2,-fixes] riscv: kexec: Avoid deadlock in kexec crash path

takakura at valinux.co.jp takakura at valinux.co.jp
Tue Jun 25 23:32:20 PDT 2024


On Wed, 26 June 2024, Song Shuai wrote:
>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: b17d19a5314a ("riscv: kexec: Fixup irq controller broken in kexec crash path")
>Signed-off-by: Song Shuai <songshuaishuai at tinylab.org>
>---
>Changes since V1:
>https://lore.kernel.org/linux-riscv/20231208111015.173237-1-songshuaishuai@tinylab.org/
>- update the commit log as @Ryo elaborated 
>- rebase on Linux 6.10-rc3

Reviewed-by: Ryo Takakura <takakura at valinux.co.jp>



More information about the linux-riscv mailing list