From: Oliver Upton Date: Wed, 4 Oct 2023 23:49:45 +0000 (+0000) Subject: KVM: arm64: Add a predicate for testing if SMCCC filter is configured X-Git-Tag: v6.7-rc1~92^2^2~6^2~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=bb17fb31f00ebd8df478a9533c6b77d6eebe6464;p=thirdparty%2Flinux.git KVM: arm64: Add a predicate for testing if SMCCC filter is configured Eventually we can drop the VM flag, move around the existing implementation for now. Reviewed-by: Marc Zyngier Link: https://lore.kernel.org/r/20231004234947.207507-2-oliver.upton@linux.dev Signed-off-by: Oliver Upton --- diff --git a/arch/arm64/kvm/hypercalls.c b/arch/arm64/kvm/hypercalls.c index 7fb4df0456dea..35e023322cdb2 100644 --- a/arch/arm64/kvm/hypercalls.c +++ b/arch/arm64/kvm/hypercalls.c @@ -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; /*