]> xenbits.xensource.com Git - people/pauldu/linux.git/commitdiff
KVM: arm64: Add a predicate for testing if SMCCC filter is configured
authorOliver Upton <oliver.upton@linux.dev>
Wed, 4 Oct 2023 23:49:45 +0000 (23:49 +0000)
committerOliver Upton <oliver.upton@linux.dev>
Thu, 5 Oct 2023 09:33:15 +0000 (09:33 +0000)
Eventually we can drop the VM flag, move around the existing
implementation for now.

Reviewed-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20231004234947.207507-2-oliver.upton@linux.dev
Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
arch/arm64/kvm/hypercalls.c

index 7fb4df0456dea53f9cdeccdd28c2ff47a8ce6ff3..35e023322cdb2e288d666cdde127c4874e770e43 100644 (file)
@@ -158,6 +158,11 @@ static void init_smccc_filter(struct kvm *kvm)
 
 }
 
+static bool kvm_smccc_filter_configured(struct kvm *kvm)
+{
+       return test_bit(KVM_ARCH_FLAT_SMCCC_FILTER_CONFIGURED, &kvm->arch.flags);
+}
+
 static int kvm_smccc_set_filter(struct kvm *kvm, struct kvm_smccc_filter __user *uaddr)
 {
        const void *zero_page = page_to_virt(ZERO_PAGE(0));
@@ -201,7 +206,7 @@ static u8 kvm_smccc_filter_get_action(struct kvm *kvm, u32 func_id)
        unsigned long idx = func_id;
        void *val;
 
-       if (!test_bit(KVM_ARCH_FLAG_SMCCC_FILTER_CONFIGURED, &kvm->arch.flags))
+       if (!kvm_smccc_filter_configured(kvm))
                return KVM_SMCCC_FILTER_HANDLE;
 
        /*