linux_dsm_epyc7002/arch/arm64
Mark Rutland b90b4a608e arm64: fix KASLR boot-time I-cache maintenance
Commit f80fb3a3d5 ("arm64: add support for kernel ASLR") missed a
DSB necessary to complete I-cache maintenance in the primary boot path,
and hence stale instructions may still be present in the I-cache and may
be executed until the I-cache maintenance naturally completes.

Since commit 8ec4198743 ("arm64: mm: ensure patched kernel text is
fetched from PoU"), all CPUs invalidate their I-caches after their MMU
is enabled. Prior a CPU's MMU having been enabled, arbitrary lines may
have been fetched from the PoC into I-caches. We never patch text
expected to be executed with the MMU off. Thus, it is unnecessary to
perform broadcast I-cache maintenance in the primary boot path.

This patch reduces the scope of the I-cache maintenance to the local
CPU, and adds the missing DSB with similar scope, matching prior
maintenance in the primary boot path.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Acked-by: Ard Biesehvuel <ard.biesheuvel@linaro.org>
Cc: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2016-03-21 12:08:50 +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: Update PTE_RDONLY in set_pte_at() for PROT_NONE permission 2016-03-11 11:03:34 +00:00
kernel arm64: fix KASLR boot-time I-cache maintenance 2016-03-21 12:08:50 +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: kasan: Fix zero shadow mapping overriding kernel image shadow 2016-03-11 11:03:35 +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