ARM: kexec: fix kdump register saving on panic()
authorRussell King <rmk+kernel@armlinux.org.uk>
Wed, 11 Apr 2018 17:24:01 +0000 (18:24 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 20 Jun 2018 19:03:01 +0000 (04:03 +0900)
commit5e4b5b7194d3d561e8791c167eb1e671b96ca575
treeb79e32a0c649c49ec78ddebed65e5f3d8c3a5e84
parentbb7a554ae7454ba921d3d59d9480e90c117f97d3
ARM: kexec: fix kdump register saving on panic()

[ Upstream commit 2d7b3c64431245c95b05a441669c074da10db943 ]

When a panic() occurs, the kexec code uses smp_send_stop() to stop
the other CPUs, but this results in the CPU register state not being
saved, and gdb is unable to inspect the state of other CPUs.

Commit 0ee59413c967 ("x86/panic: replace smp_send_stop() with kdump
friendly version in panic path") addressed the issue on x86, but
ignored other architectures.  Address the issue on ARM by splitting
out the crash stop implementation to crash_smp_send_stop() and
adding the necessary protection.

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/arm/kernel/machine_kexec.c