acrn-kernel/arch/arm/kernel
Mårten Lindahl ee378f45a7 ARM: 9317/1: kexec: Make smp stop calls asynchronous
[ Upstream commit 8922ba71c9 ]

If a panic is triggered by a hrtimer interrupt all online cpus will be
notified and set offline. But as highlighted by commit 19dbdcb803
("smp: Warn on function calls from softirq context") this call should
not be made synchronous with disabled interrupts:

 softdog: Initiating panic
 Kernel panic - not syncing: Software Watchdog Timer expired
 WARNING: CPU: 1 PID: 0 at kernel/smp.c:753 smp_call_function_many_cond
   unwind_backtrace:
     show_stack
     dump_stack_lvl
     __warn
     warn_slowpath_fmt
     smp_call_function_many_cond
     smp_call_function
     crash_smp_send_stop.part.0
     machine_crash_shutdown
     __crash_kexec
     panic
     softdog_fire
     __hrtimer_run_queues
     hrtimer_interrupt

Make the smp call for machine_crash_nonpanic_core() asynchronous.

Signed-off-by: Mårten Lindahl <marten.lindahl@axis.com>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-09-23 11:11:05 +02:00
..
.gitignore
Makefile
arch_timer.c
armksyms.c
asm-offsets.c
atags.h
atags_compat.c
atags_parse.c
atags_proc.c
bios32.c
bugs.c
cpuidle.c
crash_dump.c
debug.S
devtree.c
dma.c
early_printk.c
efi.c
elf.c
entry-armv.S
entry-common.S ARM: ptrace: Restore syscall restart tracing 2023-09-13 09:42:28 +02:00
entry-ftrace.S
entry-header.S
entry-v7m.S
fiq.c
fiqasm.S
ftrace.c
head-common.S
head-inflate-data.c
head-nommu.S
head.S
hibernate.c
hw_breakpoint.c hw_breakpoint: fix single-stepping when using bpf_overflow_handler 2023-09-23 11:11:00 +02:00
hyp-stub.S
insn.c
io.c
irq.c
isa.c
iwmmxt.S
iwmmxt.h
jump_label.c
kgdb.c
machine_kexec.c ARM: 9317/1: kexec: Make smp stop calls asynchronous 2023-09-23 11:11:05 +02:00
module-plts.c ARM: module: Use module_init_layout_section() to spot init sections 2023-09-02 09:16:19 +02:00
module.c
opcodes.c
paravirt.c
patch.c
perf_callchain.c
perf_event_v6.c
perf_event_v7.c
perf_event_xscale.c
perf_regs.c
phys2virt.S
pj4-cp0.c
process.c
psci_smp.c
ptrace.c ARM: ptrace: Restore syscall skipping for tracers 2023-09-13 09:42:28 +02:00
reboot.c
reboot.h
relocate_kernel.S
return_address.c
setup.c
signal.c
signal.h
sigreturn_codes.S
sleep.S
smccc-call.S
smp.c
smp_scu.c
smp_tlb.c
smp_twd.c
spectre.c
stacktrace.c
suspend.c
swp_emulate.c
sys_arm.c
sys_oabi-compat.c
tcm.c
thumbee.c
time.c
topology.c
traps.c
unwind.c
v7m.c
vdso.c
vmlinux-xip.lds.S
vmlinux.lds.S
xscale-cp0.c