aboutsummaryrefslogtreecommitdiff
path: root/arch/arm64/include/asm/mmu_context.h
diff options
context:
space:
mode:
authorGravatar Sami Tolvanen <samitolvanen@google.com> 2021-04-08 11:28:39 -0700
committerGravatar Kees Cook <keescook@chromium.org> 2021-04-08 16:04:22 -0700
commitcbdac8413e33bd1b9de45eeb10221c4686d743a6 (patch)
treea77fa0fe9ae124d57881ede5010ebb4eeeb1bf53 /arch/arm64/include/asm/mmu_context.h
parentarm64: use function_nocfi with __pa_symbol (diff)
downloadlinux-cbdac8413e33bd1b9de45eeb10221c4686d743a6.tar.gz
linux-cbdac8413e33bd1b9de45eeb10221c4686d743a6.tar.bz2
linux-cbdac8413e33bd1b9de45eeb10221c4686d743a6.zip
arm64: add __nocfi to functions that jump to a physical address
Disable CFI checking for functions that switch to linear mapping and make an indirect call to a physical address, since the compiler only understands virtual addresses and the CFI check for such indirect calls would always fail. Signed-off-by: Sami Tolvanen <samitolvanen@google.com> Reviewed-by: Kees Cook <keescook@chromium.org> Tested-by: Nathan Chancellor <nathan@kernel.org> Signed-off-by: Kees Cook <keescook@chromium.org> Link: https://lore.kernel.org/r/20210408182843.1754385-15-samitolvanen@google.com
Diffstat (limited to 'arch/arm64/include/asm/mmu_context.h')
-rw-r--r--arch/arm64/include/asm/mmu_context.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm64/include/asm/mmu_context.h b/arch/arm64/include/asm/mmu_context.h
index 386b96400a57..d3cef9133539 100644
--- a/arch/arm64/include/asm/mmu_context.h
+++ b/arch/arm64/include/asm/mmu_context.h
@@ -119,7 +119,7 @@ static inline void cpu_install_idmap(void)
* Atomically replaces the active TTBR1_EL1 PGD with a new VA-compatible PGD,
* avoiding the possibility of conflicting TLB entries being allocated.
*/
-static inline void cpu_replace_ttbr1(pgd_t *pgdp)
+static inline void __nocfi cpu_replace_ttbr1(pgd_t *pgdp)
{
typedef void (ttbr_replace_func)(phys_addr_t);
extern ttbr_replace_func idmap_cpu_replace_ttbr1;