linux-sg2042/arch
Russell King 0d70262a2d ARM: kexec: fix failure to boot crash kernel
When kexec was converted to DTB, the dtb address was passed between
machine_kexec_prepare() and machine_kexec() using a static variable.
This is bad news if you load a crash kernel followed by a normal
kernel or vice versa - the last loaded kernel overwrites the dtb
address.

This can result in kexec failures, as (eg) we try to boot the crash
kernel with the last loaded dtb.  For example, with:

the crash kernel fails to find the dtb.

Avoid this by defining a kimage architecture structure, and store
the address to be passed in r2 there, which will either be the ATAGs
or the dtb blob.

Fixes: 4cabd1d962 ("ARM: 7539/1: kexec: scan for dtb magic in segments")
Fixes: 42d720d173 ("ARM: kexec: Make .text R/W in machine_kexec")
Reported-by: Keerthy <j-keerthy@ti.com>
Tested-by: Keerthy <j-keerthy@ti.com>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2017-07-20 11:37:42 +01:00
..
alpha osf_wait4(): fix infoleak 2017-05-21 13:10:07 -04:00
arc arch: remove unused macro/function thread_saved_pc() 2017-06-28 16:13:57 -07:00
arm ARM: kexec: fix failure to boot crash kernel 2017-07-20 11:37:42 +01:00
arm64 arm64/vdso: Fix nsec handling for CLOCK_MONOTONIC_RAW 2017-06-20 10:41:51 +02:00
blackfin arch: remove unused macro/function thread_saved_pc() 2017-06-28 16:13:57 -07:00
c6x arch: remove unused macro/function thread_saved_pc() 2017-06-28 16:13:57 -07:00
cris arch: remove unused macro/function thread_saved_pc() 2017-06-28 16:13:57 -07:00
frv arch: remove unused macro/function thread_saved_pc() 2017-06-28 16:13:57 -07:00
h8300 arch: remove unused macro/function thread_saved_pc() 2017-06-28 16:13:57 -07:00
hexagon arch: remove unused macro/function thread_saved_pc() 2017-06-28 16:13:57 -07:00
ia64 arch: remove unused macro/function thread_saved_pc() 2017-06-28 16:13:57 -07:00
m32r arch: remove unused macro/function thread_saved_pc() 2017-06-28 16:13:57 -07:00
m68k arch: remove unused macro/function thread_saved_pc() 2017-06-28 16:13:57 -07:00
metag devicetree: Move include prefixes from arch to separate directory 2017-05-18 23:55:48 -07:00
microblaze arch: remove unused macro/function thread_saved_pc() 2017-06-28 16:13:57 -07:00
mips MIPS: Avoid accidental raw backtrace 2017-06-30 04:42:15 +02:00
mn10300 arch: remove unused macro/function thread_saved_pc() 2017-06-28 16:13:57 -07:00
nios2 arch: remove unused macro/function thread_saved_pc() 2017-06-28 16:13:57 -07:00
openrisc arch: remove unused macro/function thread_saved_pc() 2017-06-28 16:13:57 -07:00
parisc arch: remove unused macro/function thread_saved_pc() 2017-06-28 16:13:57 -07:00
powerpc powerpc fixes for 4.12 #8 2017-06-30 10:55:34 -07:00
s390 arch: remove unused macro/function thread_saved_pc() 2017-06-28 16:13:57 -07:00
score arch: remove unused macro/function thread_saved_pc() 2017-06-28 16:13:57 -07:00
sh mm: larger stack guard gap, between vmas 2017-06-19 21:50:20 +08:00
sparc arch: remove unused macro/function thread_saved_pc() 2017-06-28 16:13:57 -07:00
tile arch: remove unused macro/function thread_saved_pc() 2017-06-28 16:13:57 -07:00
um arch: remove unused macro/function thread_saved_pc() 2017-06-28 16:13:57 -07:00
unicore32 Kbuild UAPI header export updates for v4.12 2017-05-10 20:45:36 -07:00
x86 Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2017-07-01 09:10:17 -07:00
xtensa arch: remove unused macro/function thread_saved_pc() 2017-06-28 16:13:57 -07:00
.gitignore
Kconfig Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2017-05-10 10:30:46 -07:00