diff options
author | Will Deacon <will.deacon@arm.com> | 2018-01-03 11:17:58 +0000 |
---|---|---|
committer | Catalin Marinas <catalin.marinas@arm.com> | 2018-01-08 18:45:25 +0000 |
commit | 0f15adbb2861ce6f75ccfc5a92b19eae0ef327d0 (patch) | |
tree | 918eadd8cc51a5c04e2c9d4e657a4fec8f4b29d4 /arch/arm64/kernel/entry.S | |
parent | 95e3de3590e3f2358bb13f013911bc1bfa5d3f53 (diff) | |
download | linux-stable-0f15adbb2861ce6f75ccfc5a92b19eae0ef327d0.tar.gz linux-stable-0f15adbb2861ce6f75ccfc5a92b19eae0ef327d0.tar.bz2 linux-stable-0f15adbb2861ce6f75ccfc5a92b19eae0ef327d0.zip |
arm64: Add skeleton to harden the branch predictor against aliasing attacks
Aliasing attacks against CPU branch predictors can allow an attacker to
redirect speculative control flow on some CPUs and potentially divulge
information from one context to another.
This patch adds initial skeleton code behind a new Kconfig option to
enable implementation-specific mitigations against these attacks for
CPUs that are affected.
Co-developed-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Diffstat (limited to 'arch/arm64/kernel/entry.S')
-rw-r--r-- | arch/arm64/kernel/entry.S | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/arm64/kernel/entry.S b/arch/arm64/kernel/entry.S index 80b539845da6..07a7d4db8ec4 100644 --- a/arch/arm64/kernel/entry.S +++ b/arch/arm64/kernel/entry.S @@ -721,12 +721,15 @@ el0_ia: * Instruction abort handling */ mrs x26, far_el1 - enable_daif + enable_da_f +#ifdef CONFIG_TRACE_IRQFLAGS + bl trace_hardirqs_off +#endif ct_user_exit mov x0, x26 mov x1, x25 mov x2, sp - bl do_mem_abort + bl do_el0_ia_bp_hardening b ret_to_user el0_fpsimd_acc: /* |