acrn-kernel/arch/x86/kvm/vmx
Mingwei Zhang 3863ca0522 KVM: x86/pmu: Fix type length error when reading pmu->fixed_ctr_ctrl
commit 05519c86d6997cfb9bb6c82ce1595d1015b718dc upstream.

Use a u64 instead of a u8 when taking a snapshot of pmu->fixed_ctr_ctrl
when reprogramming fixed counters, as truncating the value results in KVM
thinking fixed counter 2 is already disabled (the bug also affects fixed
counters 3+, but KVM doesn't yet support those).  As a result, if the
guest disables fixed counter 2, KVM will get a false negative and fail to
reprogram/disable emulation of the counter, which can leads to incorrect
counts and spurious PMIs in the guest.

Fixes: 76d287b234 ("KVM: x86/pmu: Drop "u8 ctrl, int idx" for reprogram_fixed_counter()")
Cc: stable@vger.kernel.org
Signed-off-by: Mingwei Zhang <mizhang@google.com>
Link: https://lore.kernel.org/r/20240123221220.3911317-1-mizhang@google.com
[sean: rewrite changelog to call out the effects of the bug]
Signed-off-by: Sean Christopherson <seanjc@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-02-23 09:12:43 +01:00
..
capabilities.h
evmcs.c
evmcs.h
nested.c
nested.h
pmu_intel.c KVM: x86/pmu: Fix type length error when reading pmu->fixed_ctr_ctrl 2024-02-23 09:12:43 +01:00
posted_intr.c
posted_intr.h
run_flags.h
sgx.c
sgx.h
vmcs.h
vmcs12.c
vmcs12.h
vmcs_shadow_fields.h
vmenter.S
vmx.c work around gcc bugs with 'asm goto' with outputs 2024-02-23 09:12:28 +01:00
vmx.h
vmx_ops.h work around gcc bugs with 'asm goto' with outputs 2024-02-23 09:12:28 +01:00