OSDN Git Service

KVM: arm64: pkvm: Stub io map functions
authorQuentin Perret <qperret@google.com>
Wed, 8 Dec 2021 15:22:58 +0000 (15:22 +0000)
committerMarc Zyngier <maz@kernel.org>
Wed, 15 Dec 2021 14:17:31 +0000 (14:17 +0000)
Now that GICv2 is disabled in nVHE protected mode there should be no
other reason for the host to use create_hyp_io_mappings() or
kvm_phys_addr_ioremap(). Add sanity checks to make sure that assumption
remains true looking forward.

Signed-off-by: Quentin Perret <qperret@google.com>
Acked-by: Will Deacon <will@kernel.org>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20211208152300.2478542-6-qperret@google.com
arch/arm64/kvm/mmu.c

index 326cdfe..605c104 100644 (file)
@@ -407,6 +407,9 @@ int create_hyp_io_mappings(phys_addr_t phys_addr, size_t size,
        unsigned long addr;
        int ret;
 
+       if (is_protected_kvm_enabled())
+               return -EPERM;
+
        *kaddr = ioremap(phys_addr, size);
        if (!*kaddr)
                return -ENOMEM;
@@ -650,6 +653,9 @@ int kvm_phys_addr_ioremap(struct kvm *kvm, phys_addr_t guest_ipa,
                                     KVM_PGTABLE_PROT_R |
                                     (writable ? KVM_PGTABLE_PROT_W : 0);
 
+       if (is_protected_kvm_enabled())
+               return -EPERM;
+
        size += offset_in_page(guest_ipa);
        guest_ipa &= PAGE_MASK;