]> git.baikalelectronics.ru Git - kernel.git/commitdiff
KVM: arm64: Replace CONFIG_KVM_INDIRECT_VECTORS with CONFIG_RANDOMIZE_BASE
authorWill Deacon <will@kernel.org>
Tue, 15 Sep 2020 21:16:10 +0000 (22:16 +0100)
committerWill Deacon <will@kernel.org>
Tue, 29 Sep 2020 15:08:15 +0000 (16:08 +0100)
The removal of CONFIG_HARDEN_BRANCH_PREDICTOR means that
CONFIG_KVM_INDIRECT_VECTORS is synonymous with CONFIG_RANDOMIZE_BASE,
so replace it.

Signed-off-by: Will Deacon <will@kernel.org>
arch/arm64/include/asm/kvm_asm.h
arch/arm64/include/asm/kvm_mmu.h
arch/arm64/kernel/cpu_errata.c
arch/arm64/kvm/Kconfig
arch/arm64/kvm/hyp/Makefile
arch/arm64/kvm/hyp/hyp-entry.S

index 6f98fbd0ac8162cc1b165aea059b68bbb20af4ae..e9378cc8049d0ddaeaacd5cd6c531cb18d2f2216 100644 (file)
@@ -102,7 +102,7 @@ DECLARE_KVM_HYP_SYM(__kvm_hyp_vector);
 #define __kvm_hyp_init         CHOOSE_NVHE_SYM(__kvm_hyp_init)
 #define __kvm_hyp_vector       CHOOSE_HYP_SYM(__kvm_hyp_vector)
 
-#ifdef CONFIG_KVM_INDIRECT_VECTORS
+#ifdef CONFIG_RANDOMIZE_BASE
 extern atomic_t arm64_el2_vector_last_slot;
 DECLARE_KVM_HYP_SYM(__bp_harden_hyp_vecs);
 #define __bp_harden_hyp_vecs   CHOOSE_HYP_SYM(__bp_harden_hyp_vecs)
index 1df85a3ddb9b3473f46cab6afae7417ff1faad22..dfd176b0642e122d72a10bd3a9c20e2b7d7cf6dc 100644 (file)
@@ -430,7 +430,7 @@ static inline int kvm_write_guest_lock(struct kvm *kvm, gpa_t gpa,
        return ret;
 }
 
-#ifdef CONFIG_KVM_INDIRECT_VECTORS
+#ifdef CONFIG_RANDOMIZE_BASE
 /*
  * EL2 vectors can be mapped and rerouted in a number of ways,
  * depending on the kernel configuration and CPU present:
index dd9103915f1ec612cf1b2f2d95bde3d1d2289893..135bf7f92d4a1b8b4d20ed29774df95c378ec265 100644 (file)
@@ -113,7 +113,7 @@ atomic_t arm64_el2_vector_last_slot = ATOMIC_INIT(-1);
 
 DEFINE_PER_CPU_READ_MOSTLY(struct bp_hardening_data, bp_hardening_data);
 
-#ifdef CONFIG_KVM_INDIRECT_VECTORS
+#ifdef CONFIG_RANDOMIZE_BASE
 static void __copy_hyp_vect_bpi(int slot, const char *hyp_vecs_start,
                                const char *hyp_vecs_end)
 {
@@ -167,7 +167,7 @@ static void install_bp_hardening_cb(bp_hardening_cb_t fn,
 {
        __this_cpu_write(bp_hardening_data.fn, fn);
 }
-#endif /* CONFIG_KVM_INDIRECT_VECTORS */
+#endif /* CONFIG_RANDOMIZE_BASE */
 
 #include <linux/arm-smccc.h>
 
index 42e5895763b3a828f72d3137daa6b02dba479235..043756db8f6ec27c72fc0fc1d4c261d82f87b445 100644 (file)
@@ -57,9 +57,6 @@ config KVM_ARM_PMU
          Adds support for a virtual Performance Monitoring Unit (PMU) in
          virtual machines.
 
-config KVM_INDIRECT_VECTORS
-       def_bool RANDOMIZE_BASE
-
 endif # KVM
 
 endif # VIRTUALIZATION
index f54f0e89a71cb7a482e30c192d3f5fa199ea0535..89d2bf73acb5183da89e63adc30a1e51d28c4d24 100644 (file)
@@ -11,4 +11,4 @@ subdir-ccflags-y := -I$(incdir)                               \
                    $(DISABLE_STACKLEAK_PLUGIN)
 
 obj-$(CONFIG_KVM) += vhe/ nvhe/
-obj-$(CONFIG_KVM_INDIRECT_VECTORS) += smccc_wa.o
+obj-$(CONFIG_RANDOMIZE_BASE) += smccc_wa.o
index 41698bae5d5dde66a202eda3eea27428f55fc9f3..db2dd750061731a601909a6fedb8effa6d93897b 100644 (file)
@@ -286,7 +286,7 @@ SYM_CODE_START(__kvm_hyp_vector)
        valid_vect      el1_error               // Error 32-bit EL1
 SYM_CODE_END(__kvm_hyp_vector)
 
-#ifdef CONFIG_KVM_INDIRECT_VECTORS
+#ifdef CONFIG_RANDOMIZE_BASE
 .macro hyp_ventry
        .align 7
 1:     esb