KVM: x86 emulator: correctly mask pmc index bits in RDPMC instruction emulation
[linux-2.6-block.git] / arch / x86 / kvm / pmu.c
index 7aad5446f393def644e685c76dbfcd72e6b2711c..3e48c1d3edcdebea6578de7f90df8a60fd6fc5e5 100644 (file)
@@ -413,7 +413,7 @@ int kvm_pmu_read_pmc(struct kvm_vcpu *vcpu, unsigned pmc, u64 *data)
        struct kvm_pmc *counters;
        u64 ctr;
 
-       pmc &= (3u << 30) - 1;
+       pmc &= ~(3u << 30);
        if (!fixed && pmc >= pmu->nr_arch_gp_counters)
                return 1;
        if (fixed && pmc >= pmu->nr_arch_fixed_counters)