linux-hardened/arch/arm64
Ard Biesheuvel d5e5743797 arm64: kaslr: use callee saved register to preserve SCTLR across C call
The KASLR code incorrectly expects the contents of x18 to be preserved
across a call into C code, and uses it to stash the contents of SCTLR_EL1
before enabling the MMU. If the MMU needs to be disabled again to create
the randomized kernel mapping, x18 is written back to SCTLR_EL1, which is
likely to crash the system if x18 has been clobbered by kasan_early_init()
or kaslr_early_init(). So use x22 instead, which is not in use so far in
head.S

Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2016-03-24 16:19:24 +00:00
..
boot arm64: Fix misspellings in comments. 2016-03-04 18:19:17 +00:00
configs arm64: defconfig: updates for 4.5 2016-01-26 11:24:41 +00:00
crypto arm64: crypto: reduce priority of core AES cipher 2015-11-18 12:09:08 +00:00
include arm64: drop unused __local_flush_icache_all() 2016-03-21 12:10:03 +00:00
kernel arm64: kaslr: use callee saved register to preserve SCTLR across C call 2016-03-24 16:19:24 +00:00
kvm arm64: Rename cpuid_feature field extract routines 2016-02-25 10:33:08 +00:00
lib arm64: Fix misspellings in comments. 2016-03-04 18:19:17 +00:00
mm arm64: Split pr_notice("Virtual kernel memory layout...") into multiple pr_cont() 2016-03-21 12:19:12 +00:00
net arm64: bpf: add extra pass to handle faulty codegen 2016-01-17 19:15:26 -05:00
xen xen/arm: introduce HYPERVISOR_platform_op on arm and arm64 2015-12-21 14:40:56 +00:00
Kconfig arm64: kconfig: add submenu for 8.2 architectural features 2016-02-26 18:12:35 +00:00
Kconfig.debug arm64: enable CONFIG_DEBUG_RODATA by default 2016-03-03 18:14:17 +00:00
Kconfig.platforms ARM: SoC support for Tegra platforms for v4.5 2016-01-22 17:30:52 -08:00
Makefile arm64: add support for building vmlinux as a relocatable PIE binary 2016-02-24 14:57:27 +00:00