KVM: arm64: Gate kvm_pmu_update_state() on the PMU feature
authorMarc Zyngier <maz@kernel.org>
Fri, 13 Nov 2020 16:41:40 +0000 (16:41 +0000)
committerMarc Zyngier <maz@kernel.org>
Fri, 27 Nov 2020 11:41:12 +0000 (11:41 +0000)
We currently gate the update of the PMU state on the PMU being "ready".
The "ready" state is only set to true when the first vcpu run is
successful, and if it isn't, we never reach the update code.

So the "ready" state is never the right thing to check for, and it
should instead be the presence of the PMU feature, which makes
a bit more sense.

Reviewed-by: Alexandru Elisei <alexandru.elisei@arm.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
arch/arm64/kvm/pmu-emul.c

index 812495e915e47e57ada4625e719237fbddfb7e8c..5ad900c609ee4bbb10944486d83f7d50a81fcf63 100644 (file)
@@ -384,7 +384,7 @@ static void kvm_pmu_update_state(struct kvm_vcpu *vcpu)
        struct kvm_pmu *pmu = &vcpu->arch.pmu;
        bool overflow;
 
-       if (!kvm_arm_pmu_v3_ready(vcpu))
+       if (!kvm_vcpu_has_pmu(vcpu))
                return;
 
        overflow = !!kvm_pmu_overflow_status(vcpu);