diff options
author | Marc Zyngier <maz@kernel.org> | 2020-10-24 17:33:38 +0200 |
---|---|---|
committer | Marc Zyngier <maz@kernel.org> | 2020-11-27 12:32:43 +0100 |
commit | 68b824e428c5fb5c3dc5ef80b1543e767534b58e (patch) | |
tree | 93f0cc373bf871d0eddcdef77fc5ca0d8bb17c8c /arch/arm64/kernel | |
parent | KVM: arm64: Turn host HVC handling into a dispatch table (diff) | |
download | linux-68b824e428c5fb5c3dc5ef80b1543e767534b58e.tar.xz linux-68b824e428c5fb5c3dc5ef80b1543e767534b58e.zip |
KVM: arm64: Patch kimage_voffset instead of loading the EL1 value
Directly using the kimage_voffset variable is fine for now, but
will become more problematic as we start distrusting EL1.
Instead, patch the kimage_voffset into the HYP text, ensuring
we don't have to load an untrusted value later on.
Signed-off-by: Marc Zyngier <maz@kernel.org>
Diffstat (limited to 'arch/arm64/kernel')
-rw-r--r-- | arch/arm64/kernel/image-vars.h | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/arch/arm64/kernel/image-vars.h b/arch/arm64/kernel/image-vars.h index e8c194f8de88..4b32588918d9 100644 --- a/arch/arm64/kernel/image-vars.h +++ b/arch/arm64/kernel/image-vars.h @@ -65,13 +65,11 @@ __efistub__ctype = _ctype; KVM_NVHE_ALIAS(kvm_patch_vector_branch); KVM_NVHE_ALIAS(kvm_update_va_mask); KVM_NVHE_ALIAS(kvm_update_kimg_phys_offset); +KVM_NVHE_ALIAS(kvm_get_kimage_voffset); /* Global kernel state accessed by nVHE hyp code. */ KVM_NVHE_ALIAS(kvm_vgic_global_state); -/* Kernel constant needed to compute idmap addresses. */ -KVM_NVHE_ALIAS(kimage_voffset); - /* Kernel symbols used to call panic() from nVHE hyp code (via ERET). */ KVM_NVHE_ALIAS(__hyp_panic_string); KVM_NVHE_ALIAS(panic); |