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 Kbuild updates for v6.1 2022-10-10 12:00:45 -07:00
arch_timer.c
armksyms.c
asm-offsets.c
atags.h
atags_compat.c
atags_parse.c
atags_proc.c
bios32.c
bugs.c ARM: cpu: Switch to arch_cpu_finalize_init() 2023-08-08 20:03:46 +02:00
cpuidle.c
crash_dump.c
debug.S
devtree.c ARM: make ARCH_MULTIPLATFORM user-visible 2022-08-30 11:18:09 +02:00
dma.c
early_printk.c
efi.c efi/arm: libstub: move ARM specific code out of generic routines 2022-09-27 13:26:16 +02:00
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 context_tracking: Split user tracking Kconfig 2022-06-29 17:04:09 -07:00
entry-v7m.S
fiq.c
fiqasm.S
ftrace.c
head-common.S
head-inflate-data.c
head-nommu.S
head.S ARM: head.S: rename PMD_ORDER to PMD_ENTRY_ORDER 2022-07-17 17:14:44 -07:00
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 asm-generic: Conditionally enable do_softirq_own_stack() via Kconfig. 2022-09-05 17:20:55 +02:00
isa.c
iwmmxt.S
iwmmxt.h
jump_label.c jump_label: make initial NOP patching the special case 2022-06-24 09:48:55 +02:00
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 Random number generator fixes for Linux 6.1-rc1. 2022-10-16 15:27:07 -07:00
psci_smp.c
ptrace.c ARM: ptrace: Restore syscall skipping for tracers 2023-09-13 09:42:28 +02:00
reboot.c ARM: 9219/1: fix undeclared soft_restart 2022-07-28 15:09:17 +01:00
reboot.h
relocate_kernel.S
return_address.c ARM: 9234/1: stacktrace: Avoid duplicate saving of exception PC value 2022-10-04 11:09:47 +01:00
setup.c efi/arm: libstub: move ARM specific code out of generic routines 2022-09-27 13:26:16 +02:00
signal.c treewide: use get_random_{u8,u16}() when possible, part 1 2022-10-11 17:42:58 -06:00
signal.h
sigreturn_codes.S
sleep.S
smccc-call.S
smp.c profile: setup_profiling_timer() is moslty not implemented 2022-07-29 18:12:36 -07:00
smp_scu.c
smp_tlb.c
smp_twd.c
spectre.c
stacktrace.c ARM: 9234/1: stacktrace: Avoid duplicate saving of exception PC value 2022-10-04 11:09:47 +01:00
suspend.c
swp_emulate.c
sys_arm.c
sys_oabi-compat.c
tcm.c
thumbee.c
time.c
topology.c
traps.c ARM: 9224/1: Dump the stack traces based on the parameter 'regs' of show_regs() 2022-09-22 08:21:30 +01:00
unwind.c ARM: 9295/1: unwind:fix unwind abort for uleb128 case 2023-06-09 10:34:08 +02:00
v7m.c
vdso.c
vmlinux-xip.lds.S
vmlinux.lds.S
xscale-cp0.c