linux-stable/arch/arm64
Ard Biesheuvel bc9f3d7788 arm64: kernel: avoid literal load of virtual address with MMU off
Literal loads of virtual addresses are subject to runtime relocation when
CONFIG_RELOCATABLE=y, and given that the relocation routines run with the
MMU and caches enabled, literal loads of relocated values performed with
the MMU off are not guaranteed to return the latest value unless the
memory covering the literal is cleaned to the PoC explicitly.

So defer the literal load until after the MMU has been enabled, just like
we do for primary_switch() and secondary_switch() in head.S.

Fixes: 1e48ef7fcc ("arm64: add support for building vmlinux as a relocatable PIE binary")
Cc: <stable@vger.kernel.org> # 4.6+
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2016-08-17 17:37:37 +01:00
..
boot ARM: SoC fixes 2016-08-11 14:14:23 -07:00
configs arm64: defconfig: enable CONFIG_LOCALVERSION_AUTO 2016-08-12 19:08:48 +01:00
crypto Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2016-03-17 11:22:54 -07:00
include arm64 fixes: 2016-08-13 19:29:46 -07:00
kernel arm64: kernel: avoid literal load of virtual address with MMU off 2016-08-17 17:37:37 +01:00
kvm KVM/ARM Changes for v4.8 - Take 2 2016-08-04 13:59:56 +02:00
lib arm64/uaccess: Enable hardened usercopy 2016-07-26 14:41:49 -07:00
mm arm64: Fix NUMA build error when !CONFIG_ACPI 2016-08-17 17:16:58 +01:00
net arm64: bpf: optimize LD_ABS, LD_IND 2016-06-10 23:11:50 -07:00
xen arm/xen: add support for vm_assist hypercall 2016-07-06 10:42:14 +01:00
Kconfig Implements HARDENED_USERCOPY verification of copy_to_user/copy_from_user 2016-08-08 14:48:14 -07:00
Kconfig.debug arm64: enable CONFIG_SET_MODULE_RONX by default 2016-05-31 14:23:29 +01:00
Kconfig.platforms arm64: Kconfig: select HISILICON_IRQ_MBIGEN only if PCI is selected 2016-08-10 22:58:12 +02:00
Makefile arm64 fixes: 2016-08-06 08:58:59 -04:00