From: Quentin Perret <qper...@google.com>

We no longer need to map the host's .rodata and .bss sections in the
pkvm hypervisor, so let's remove those mappings. This will avoid
creating dependencies at EL2 on host-controlled data-structures.

Signed-off-by: Quentin Perret <qper...@google.com>
---
 arch/arm64/kernel/image-vars.h  |  6 ------
 arch/arm64/kvm/hyp/nvhe/setup.c | 14 +++-----------
 2 files changed, 3 insertions(+), 17 deletions(-)

diff --git a/arch/arm64/kernel/image-vars.h b/arch/arm64/kernel/image-vars.h
index 3e2489d23ff0..2d4d6836ff47 100644
--- a/arch/arm64/kernel/image-vars.h
+++ b/arch/arm64/kernel/image-vars.h
@@ -115,12 +115,6 @@ KVM_NVHE_ALIAS_HYP(__memcpy, __pi_memcpy);
 KVM_NVHE_ALIAS_HYP(__memset, __pi_memset);
 #endif
 
-/* Kernel memory sections */
-KVM_NVHE_ALIAS(__start_rodata);
-KVM_NVHE_ALIAS(__end_rodata);
-KVM_NVHE_ALIAS(__bss_start);
-KVM_NVHE_ALIAS(__bss_stop);
-
 /* Hyp memory sections */
 KVM_NVHE_ALIAS(__hyp_idmap_text_start);
 KVM_NVHE_ALIAS(__hyp_idmap_text_end);
diff --git a/arch/arm64/kvm/hyp/nvhe/setup.c b/arch/arm64/kvm/hyp/nvhe/setup.c
index a851de624074..c55661976f64 100644
--- a/arch/arm64/kvm/hyp/nvhe/setup.c
+++ b/arch/arm64/kvm/hyp/nvhe/setup.c
@@ -119,23 +119,15 @@ static int recreate_hyp_mappings(phys_addr_t phys, 
unsigned long size,
        }
 
        /*
-        * Map the host's .bss and .rodata sections RO in the hypervisor, but
-        * transfer the ownership from the host to the hypervisor itself to
-        * make sure it can't be donated or shared with another entity.
+        * Map the host sections RO in the hypervisor, but transfer the
+        * ownership from the host to the hypervisor itself to make sure they
+        * can't be donated or shared with another entity.
         *
         * The ownership transition requires matching changes in the host
         * stage-2. This will be done later (see finalize_host_mappings()) once
         * the hyp_vmemmap is addressable.
         */
        prot = pkvm_mkstate(PAGE_HYP_RO, PKVM_PAGE_SHARED_OWNED);
-       ret = pkvm_create_mappings(__start_rodata, __end_rodata, prot);
-       if (ret)
-               return ret;
-
-       ret = pkvm_create_mappings(__hyp_bss_end, __bss_stop, prot);
-       if (ret)
-               return ret;
-
        ret = pkvm_create_mappings(&kvm_vgic_global_state,
                                   &kvm_vgic_global_state + 1, prot);
        if (ret)
-- 
2.36.1.124.g0e6072fb45-goog

_______________________________________________
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

Reply via email to