From 6327fe63339a2ccc0706f642de3d7b16f5960d5a Mon Sep 17 00:00:00 2001 From: Fuad Tabba Date: Thu, 23 Jan 2025 14:05:48 +0000 Subject: [PATCH] ANDROID: KVM: arm64: Check if MTE is allowed for protected VMs Check and enable MTE for protected VMs if it's on the allow list. Bug: 357781595 Change-Id: Ic7cf34d6d93999fc4081caeb24df049a074a2f43 Signed-off-by: Fuad Tabba --- arch/arm64/kvm/hyp/nvhe/pkvm.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/arch/arm64/kvm/hyp/nvhe/pkvm.c b/arch/arm64/kvm/hyp/nvhe/pkvm.c index 0be7d6470b87..f74f8d7ede5a 100644 --- a/arch/arm64/kvm/hyp/nvhe/pkvm.c +++ b/arch/arm64/kvm/hyp/nvhe/pkvm.c @@ -455,6 +455,11 @@ static void pkvm_init_features_from_host(struct pkvm_hyp_vm *hyp_vm, const struc kvm->arch.flags |= host_arch_flags & BIT(KVM_ARCH_FLAG_GUEST_HAS_SVE); } + if (kvm_pvm_ext_allowed(KVM_CAP_ARM_MTE)) { + set_bit(KVM_CAP_ARM_MTE, allowed_features); + kvm->arch.flags |= host_arch_flags & BIT(KVM_ARCH_FLAG_MTE_ENABLED); + } + bitmap_and(kvm->arch.vcpu_features, host_kvm->arch.vcpu_features, allowed_features, KVM_VCPU_MAX_FEATURES); }