linux/arch/arm64
Peter Collingbourne 9283e708a9 arm64: set UXN on swapper page tables
[ This issue was fixed upstream by accident in c3cee924bd ("arm64:
  head: cover entire kernel image in initial ID map") as part of a
  large refactoring of the arm64 boot flow. This simple fix is therefore
  preferred for -stable backporting ]

On a system that implements FEAT_EPAN, read/write access to the idmap
is denied because UXN is not set on the swapper PTEs. As a result,
idmap_kpti_install_ng_mappings panics the kernel when accessing
__idmap_kpti_flag. Fix it by setting UXN on these PTEs.

Fixes: 18107f8a2d ("arm64: Support execute-only permissions with Enhanced PAN")
Cc: <stable@vger.kernel.org> # 5.15
Link: https://linux-review.googlesource.com/id/Ic452fa4b4f74753e54f71e61027e7222a0fae1b1
Signed-off-by: Peter Collingbourne <pcc@google.com>
Acked-by: Will Deacon <will@kernel.org>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Link: https://lore.kernel.org/r/20220719234909.1398992-1-pcc@google.com
Signed-off-by: Will Deacon <will@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2022-08-11 13:22:03 +02:00
..
boot This pull request contains Broadcom ARM64-based SoCs Device Tree fixes 2022-07-13 09:35:56 +02:00
configs - Enable essential PMIC and regulatro drivers for MT8195. 2022-05-13 14:02:30 +02:00
crypto crypto: arm64/poly1305 - fix a read out-of-bound 2022-08-11 13:22:03 +02:00
hyperv arm64: hyperv: Initialize hypervisor on boot 2021-08-04 16:54:36 +00:00
include arm64: set UXN on swapper page tables 2022-08-11 13:22:03 +02:00
kernel arm64: set UXN on swapper page tables 2022-08-11 13:22:03 +02:00
kvm KVM: arm64: Prevent kmemleak from accessing pKVM memory 2022-06-17 09:48:38 +01:00
lib S390: 2022-05-26 14:20:14 -07:00
mm arm64: hugetlb: Restore TLB invalidation for BBM on contiguous ptes 2022-07-01 18:29:26 +01:00
net bpf, arm64: Clear prog->jited_len along prog->jited 2022-06-07 10:40:53 -07:00
tools arm64/sysreg: Fix typo in Enum element regex 2022-06-10 16:23:48 +01:00
xen xen: allow pv-only hypercalls only with CONFIG_XEN_PV 2021-11-02 08:11:01 -05:00
Kbuild kbuild: use more subdir- for visiting subdirectories while cleaning 2021-10-24 13:49:46 +09:00
Kconfig RISC-V Patches for the 5.19 Merge Window, Part 1 2022-05-31 14:10:54 -07:00
Kconfig.debug arm64: remove TEXT_OFFSET randomization 2020-06-15 13:10:59 +01:00
Kconfig.platforms arm64 updates for 5.19: 2022-05-23 21:06:11 -07:00
Makefile kbuild: factor out the common installation code into scripts/install.sh 2022-05-11 21:45:53 +09:00