diff options
author | Fuad Tabba <tabba@google.com> | 2024-12-16 10:50:47 +0000 |
---|---|---|
committer | Marc Zyngier <maz@kernel.org> | 2024-12-20 13:52:58 +0000 |
commit | 9df9186f8df513dc9bf9f95f68525c7ebc941bcd (patch) | |
tree | bfbd8c46cf96eb10cb65aef5744e39880c10e635 | |
parent | 7ba5b8f80475e48b486f095ee9fb67dc9f9d02df (diff) |
KVM: arm64: Fix RAS trapping in pKVM for protected VMs
Trap RAS in pKVM if not supported at all for protected VMs. The
RAS version doesn't matter in this case.
Fixes: 2a0c343386ae ("KVM: arm64: Initialize trap registers for protected VMs")
Signed-off-by: Fuad Tabba <tabba@google.com>
Link: https://lore.kernel.org/r/20241216105057.579031-8-tabba@google.com
Signed-off-by: Marc Zyngier <maz@kernel.org>
-rw-r--r-- | arch/arm64/kvm/hyp/nvhe/pkvm.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/arch/arm64/kvm/hyp/nvhe/pkvm.c b/arch/arm64/kvm/hyp/nvhe/pkvm.c index c7958183e40d..6eddd29b264b 100644 --- a/arch/arm64/kvm/hyp/nvhe/pkvm.c +++ b/arch/arm64/kvm/hyp/nvhe/pkvm.c @@ -70,9 +70,8 @@ static void pvm_init_traps_hcr(struct kvm_vcpu *vcpu) */ val |= HCR_TACR | HCR_TIDCP | HCR_TID3 | HCR_TID1; - /* Trap RAS unless all current versions are supported */ - if (FIELD_GET(ARM64_FEATURE_MASK(ID_AA64PFR0_EL1_RAS), id_aa64pfr0) < - ID_AA64PFR0_EL1_RAS_V1P1) { + /* Trap RAS */ + if (!FIELD_GET(ARM64_FEATURE_MASK(ID_AA64PFR0_EL1_RAS), id_aa64pfr0)) { val |= HCR_TERR | HCR_TEA; val &= ~(HCR_FIEN); } |