linux-stable/arch/arm/kernel
Mårten Lindahl 46870eea54 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:09:58 +02:00
..
.gitignore
arch_timer.c
armksyms.c
asm-offsets.c ARM development updates for 5.15: 2021-09-09 13:25:49 -07:00
atags.h ARM: 9011/1: centralize phys-to-virt conversion of DT/ATAGS address 2020-10-27 12:10:59 +00:00
atags_compat.c
atags_parse.c ARM: 9011/1: centralize phys-to-virt conversion of DT/ATAGS address 2020-10-27 12:10:59 +00:00
atags_proc.c
bios32.c
bugs.c ARM: cpu: Switch to arch_cpu_finalize_init() 2023-08-08 19:58:30 +02:00
cpuidle.c treewide: Convert macro and uses of __section(foo) to __section("foo") 2020-10-25 14:51:49 -07:00
crash_dump.c
debug.S
devtree.c ARM: 9011/1: centralize phys-to-virt conversion of DT/ATAGS address 2020-10-27 12:10:59 +00:00
dma-isa.c
dma.c
early_printk.c
efi.c
elf.c
entry-armv.S ARM: 9197/1: spectre-bhb: fix loop8 sequence for Thumb2 2022-05-25 09:57:33 +02:00
entry-common.S ARM: ptrace: Restore syscall restart tracing 2023-09-19 12:22:30 +02:00
entry-ftrace.S ARM: ftrace: avoid redundant loads or clobbering IP 2022-04-08 14:24:00 +02:00
entry-header.S
entry-v7m.S printk: Userspace format indexing support 2021-07-19 11:57:48 +02:00
fiq.c
fiqasm.S
ftrace.c ARM: 9079/1: ftrace: Add MODULE_PLTS support 2021-06-07 12:56:20 +01:00
head-common.S Merge branch 'devel-stable' into for-next 2020-12-21 11:19:26 +00:00
head-inflate-data.c
head-nommu.S ARM: 9160/1: NOMMU: Reload __secondary_data after PROCINFO_INITFUNC 2021-12-29 12:28:48 +01:00
head.S ARM: 9148/1: handle CONFIG_CPU_ENDIAN_BE32 in arch/arm/kernel/head.S 2021-10-25 13:11:34 +01:00
hibernate.c
hw_breakpoint.c hw_breakpoint: fix single-stepping when using bpf_overflow_handler 2023-09-23 11:09:55 +02:00
hyp-stub.S Merge branch 'devel-stable' into for-next 2020-12-21 11:19:26 +00:00
insn.c ARM: 9078/1: Add warn suppress parameter to arm_gen_branch_link() 2021-06-07 12:56:20 +01:00
io.c
irq.c genirq: Move non-irqdomain handle_domain_irq() handling into ARM's handle_IRQ() 2021-06-10 13:09:19 +01:00
isa.c
iwmmxt.h ARM: 9029/1: Make iwmmxt.S support Clang's integrated assembler 2020-12-08 10:14:59 +00:00
iwmmxt.S ARM: 9029/1: Make iwmmxt.S support Clang's integrated assembler 2020-12-08 10:14:59 +00:00
jump_label.c
kgdb.c ARM: Fix kgdb breakpoint for Thumb2 2022-03-08 19:12:48 +01:00
machine_kexec.c ARM: 9317/1: kexec: Make smp stop calls asynchronous 2023-09-23 11:09:58 +02:00
Makefile ARM: report Spectre v2 status through sysfs 2022-03-11 12:22:32 +01:00
module-plts.c ARM: module: Use module_init_layout_section() to spot init sections 2023-09-02 09:17:07 +02:00
module.c ARM: module: add support for place relative relocations 2020-10-28 16:59:43 +01:00
opcodes.c
paravirt.c x86/paravirt: Switch time pvops functions to use static_call() 2021-03-11 16:17:52 +01:00
patch.c
perf_callchain.c perf: Protect perf_guest_cbs with RCU 2022-01-20 09:13:14 +01:00
perf_event_v6.c
perf_event_v7.c arm_pmu: Fix write counter incorrect in ARMv7 big-endian mode 2021-06-01 14:17:01 +01:00
perf_event_xscale.c
perf_regs.c perf/arch: Remove perf_sample_data::regs_user_copy 2020-11-09 18:12:34 +01:00
phys2virt.S ARM: p2v: reduce p2v alignment requirement to 2 MiB 2020-10-28 16:59:43 +01:00
pj4-cp0.c
process.c ARM development updates for 5.15: 2021-09-09 13:25:49 -07:00
psci_smp.c
ptrace.c ARM: ptrace: Restore syscall skipping for tracers 2023-09-19 12:22:30 +02:00
reboot.c ARM: 9096/1: Remove arm_pm_restart() 2021-06-13 18:16:48 +01:00
reboot.h
relocate_kernel.S ARM: kexec: fix oops after TLB are invalidated 2021-02-05 10:23:29 +00:00
return_address.c
setup.c memblock: make memblock_find_in_range method private 2021-09-03 09:58:17 -07:00
signal.c signal: Deliver SIGTRAP on perf event asynchronously if blocked 2022-06-09 10:22:48 +02:00
signal.h
sigreturn_codes.S
sleep.S ARM: sleep.S: use PC-relative insn sequence for sleep_save_sp/mpidr_hash 2020-10-28 17:05:40 +01:00
smccc-call.S ARM: 9075/1: kernel: Fix interrupted SMC calls 2021-04-18 19:15:14 +01:00
smp.c ARM: remove some dead code 2022-08-17 14:24:23 +02:00
smp_scu.c
smp_tlb.c
smp_twd.c
spectre.c ARM: fix build error when BPF_SYSCALL is disabled 2022-03-11 12:22:35 +01:00
stacktrace.c ARM: 9191/1: arm/stacktrace, kasan: Silence KASAN warnings in unwind_frame() 2022-05-25 09:57:26 +02:00
suspend.c ARM: 9066/1: ftrace: pause/unpause function graph tracer in cpu_suspend() 2021-03-25 10:27:42 +00:00
swp_emulate.c uaccess: fix type mismatch warnings from access_ok() 2022-04-08 14:24:01 +02:00
sys_arm.c
sys_oabi-compat.c ARM: 9110/1: oabi-compat: fix oabi epoll sparse warning 2021-08-20 11:39:27 +01:00
tcm.c
thumbee.c
time.c ARM: rpc: use legacy_timer_tick 2020-10-30 21:57:05 +01:00
topology.c
traps.c exit: Add and use make_task_dead. 2023-02-01 08:27:20 +01:00
unwind.c ARM: 9295/1: unwind:fix unwind abort for uleb128 case 2023-06-09 10:32:20 +02:00
v7m.c
vdso.c mm: forbid splitting special mappings 2020-12-15 12:13:41 -08:00
vmlinux-xip.lds.S ARM: 9141/1: only warn about XIP address when not compile testing 2021-10-19 10:39:50 +01:00
vmlinux.lds.S ARM: 9088/1: Split KERNEL_OFFSET from PAGE_OFFSET 2021-06-13 18:16:40 +01:00
xscale-cp0.c