]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
KVM: arm64: Use kvm_has_mte() in pKVM trap initialization
authorFuad Tabba <tabba@google.com>
Thu, 22 Jan 2026 11:22:18 +0000 (11:22 +0000)
committerMarc Zyngier <maz@kernel.org>
Fri, 23 Jan 2026 11:28:48 +0000 (11:28 +0000)
When initializing HCR traps in protected mode, use kvm_has_mte() to
check for MTE support rather than kvm_has_feat(kvm, ID_AA64PFR1_EL1,
MTE, IMP).

kvm_has_mte() provides a more comprehensive check:
 - kvm_has_feat() only checks if MTE is in the guest's ID register view
   (i.e., what we advertise to the guest)
 - kvm_has_mte() checks both system_supports_mte() AND whether
   KVM_ARCH_FLAG_MTE_ENABLED is set for this VM instance

Signed-off-by: Fuad Tabba <tabba@google.com>
Link: https://patch.msgid.link/20260122112218.531948-5-tabba@google.com
Signed-off-by: Marc Zyngier <maz@kernel.org>
arch/arm64/kvm/hyp/nvhe/pkvm.c

index 8911338961c5b19926ed6d323b2c1043c1c9cf12..9b933424e70ad867854b1f24c399bc4ce7b1090b 100644 (file)
@@ -82,7 +82,7 @@ static void pvm_init_traps_hcr(struct kvm_vcpu *vcpu)
        if (!kvm_has_feat(kvm, ID_AA64PFR0_EL1, AMU, IMP))
                val &= ~(HCR_AMVOFFEN);
 
-       if (!kvm_has_feat(kvm, ID_AA64PFR1_EL1, MTE, IMP)) {
+       if (!kvm_has_mte(kvm)) {
                val |= HCR_TID5;
                val &= ~(HCR_DCT | HCR_ATA);
        }