arm64: Support execute-only permissions with Enhanced PAN
authorVladimir Murzin <vladimir.murzin@arm.com>
Fri, 12 Mar 2021 17:38:10 +0000 (17:38 +0000)
committerCatalin Marinas <catalin.marinas@arm.com>
Fri, 26 Mar 2021 09:37:23 +0000 (09:37 +0000)
commit18107f8a2df6bf1c6cac8d0713f757f866d5af51
tree0411230b8d6c259233a6aadcd0c0aaf261b86c2a
parent1e28eed17697bcf343c6743f0028cc3b5dd88bf0
arm64: Support execute-only permissions with Enhanced PAN

Enhanced Privileged Access Never (EPAN) allows Privileged Access Never
to be used with Execute-only mappings.

Absence of such support was a reason for 24cecc377463 ("arm64: Revert
support for execute-only user mappings"). Thus now it can be revisited
and re-enabled.

Cc: Kees Cook <keescook@chromium.org>
Signed-off-by: Vladimir Murzin <vladimir.murzin@arm.com>
Acked-by: Will Deacon <will@kernel.org>
Link: https://lore.kernel.org/r/20210312173811.58284-2-vladimir.murzin@arm.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/Kconfig
arch/arm64/include/asm/cpucaps.h
arch/arm64/include/asm/pgtable-prot.h
arch/arm64/include/asm/pgtable.h
arch/arm64/include/asm/sysreg.h
arch/arm64/kernel/cpufeature.c
arch/arm64/mm/fault.c
mm/mmap.c