diff options
author | Mark Rutland <mark.rutland@arm.com> | 2018-12-07 18:39:23 +0000 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2019-01-22 21:40:30 +0100 |
commit | d29d3891c00956c660452868766655b8447bd8a8 (patch) | |
tree | 34be28373bb0c01713348843ab67bf15dc6ab109 /net/ipv6 | |
parent | a31edd1c1b7b3a4f2d6b93691fbcff9dfd8a0231 (diff) | |
download | linux-rpi3-d29d3891c00956c660452868766655b8447bd8a8.tar.gz linux-rpi3-d29d3891c00956c660452868766655b8447bd8a8.tar.bz2 linux-rpi3-d29d3891c00956c660452868766655b8447bd8a8.zip |
arm64: Don't trap host pointer auth use to EL2
[ Upstream commit b3669b1e1c09890d61109a1a8ece2c5b66804714 ]
To allow EL0 (and/or EL1) to use pointer authentication functionality,
we must ensure that pointer authentication instructions and accesses to
pointer authentication keys are not trapped to EL2.
This patch ensures that HCR_EL2 is configured appropriately when the
kernel is booted at EL2. For non-VHE kernels we set HCR_EL2.{API,APK},
ensuring that EL1 can access keys and permit EL0 use of instructions.
For VHE kernels host EL0 (TGE && E2H) is unaffected by these settings,
and it doesn't matter how we configure HCR_EL2.{API,APK}, so we don't
bother setting them.
This does not enable support for KVM guests, since KVM manages HCR_EL2
itself when running VMs.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Kristina Martsenko <kristina.martsenko@arm.com>
Acked-by: Christoffer Dall <christoffer.dall@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Marc Zyngier <marc.zyngier@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: kvmarm@lists.cs.columbia.edu
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'net/ipv6')
0 files changed, 0 insertions, 0 deletions