diff options
author | Gleb Natapov <gleb@redhat.com> | 2012-05-09 16:10:41 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-05-12 09:32:20 -0700 |
commit | c1cca0b1b79ba339d040793ad70fad254e1af220 (patch) | |
tree | 8e2c4266a88879e7a8c17825f85f5e87da92eb3b | |
parent | 6429d8675607e080deb716830f97ee0e78c991df (diff) | |
download | lwn-c1cca0b1b79ba339d040793ad70fad254e1af220.tar.gz lwn-c1cca0b1b79ba339d040793ad70fad254e1af220.zip |
KVM: x86 emulator: correctly mask pmc index bits in RDPMC instruction emulation
(cherry picked from commit 270c6c79f4e15e599f47174ecedad932463af7a2)
Signed-off-by: Gleb Natapov <gleb@redhat.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | arch/x86/kvm/pmu.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/kvm/pmu.c b/arch/x86/kvm/pmu.c index 7aad5446f393..3e48c1d3edcd 100644 --- a/arch/x86/kvm/pmu.c +++ b/arch/x86/kvm/pmu.c @@ -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) |