On 25/03/19 20:10, Liran Alon wrote: > Before this change, reading a VMware pseduo PMC will succeed even when > PMU is not supported by guest. This can easily be seen by running > kvm-unit-test vmware_backdoors with "-cpu host,-pmu" option. > > Reviewed-by: Mihai Carabas <mihai.carabas@xxxxxxxxxx> > Signed-off-by: Liran Alon <liran.alon@xxxxxxxxxx> > --- > arch/x86/kvm/pmu.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/arch/x86/kvm/pmu.c b/arch/x86/kvm/pmu.c > index 58ead7db71a3..e39741997893 100644 > --- a/arch/x86/kvm/pmu.c > +++ b/arch/x86/kvm/pmu.c > @@ -281,9 +281,13 @@ static int kvm_pmu_rdpmc_vmware(struct kvm_vcpu *vcpu, unsigned idx, u64 *data) > int kvm_pmu_rdpmc(struct kvm_vcpu *vcpu, unsigned idx, u64 *data) > { > bool fast_mode = idx & (1u << 31); > + struct kvm_pmu *pmu = vcpu_to_pmu(vcpu); > struct kvm_pmc *pmc; > u64 ctr_val; > > + if (!pmu->version) > + return 1; > + > if (is_vmware_backdoor_pmc(idx)) > return kvm_pmu_rdpmc_vmware(vcpu, idx, data); > > Queued, thanks. I wonder if we should expose the state of vmware_backdoors as a capability. It would surely help writing a unit test for this stuff. Paolo