linux/arch/arm64
Catalin Marinas d89a351b08 arm64: Revert support for execute-only user mappings
commit 24cecc3774 upstream.

The ARMv8 64-bit architecture supports execute-only user permissions by
clearing the PTE_USER and PTE_UXN bits, practically making it a mostly
privileged mapping but from which user running at EL0 can still execute.

The downside, however, is that the kernel at EL1 inadvertently reading
such mapping would not trip over the PAN (privileged access never)
protection.

Revert the relevant bits from commit cab15ce604 ("arm64: Introduce
execute-only page access permissions") so that PROT_EXEC implies
PROT_READ (and therefore PTE_USER) until the architecture gains proper
support for execute-only user mappings.

Fixes: cab15ce604 ("arm64: Introduce execute-only page access permissions")
Cc: <stable@vger.kernel.org> # 4.9.x-
Acked-by: Will Deacon <will@kernel.org>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-01-09 10:19:03 +01:00
..
boot arm64: dts: exynos: Revert "Remove unneeded address space mapping for soc node" 2019-12-13 08:52:44 +01:00
configs arm64: defconfig: Enable TI's AM6 SoC platform 2018-08-29 11:51:26 -07:00
crypto crypto: arm64/sha2-ce - correct digest for empty data in finup 2019-07-26 09:14:19 +02:00
include arm64: Revert support for execute-only user mappings 2020-01-09 10:19:03 +01:00
kernel arm64: psci: Reduce the waiting time for cpu_psci_cpu_kill() 2019-12-31 16:35:26 +01:00
kvm KVM: arm64: Ensure 'params' is initialised when looking up sys register 2019-12-31 16:36:28 +01:00
lib arm64: lib: use C string functions with KASAN enabled 2019-12-01 09:17:01 +01:00
mm arm64: Revert support for execute-only user mappings 2020-01-09 10:19:03 +01:00
net bpf, arm64: use more scalable stadd over ldxr / stxr loop in xadd 2019-07-03 13:14:49 +02:00
xen
Kconfig arm64: enable generic CPU vulnerabilites support 2019-10-11 18:21:33 +02:00
Kconfig.debug Kconfig: consolidate the "Kernel hacking" menu 2018-08-02 08:06:48 +09:00
Kconfig.platforms ARM: SoC: late updates 2018-08-25 14:12:36 -07:00
Makefile arm64: makefile fix build of .i file in external module case 2019-12-01 09:17:14 +01:00