Messages in this thread Patch in this message | ![/](/images/icornerl.gif) | | Date | Tue, 23 Jan 2024 22:12:20 +0000 | Subject | [PATCH] KVM: x86/pmu: Fix type length error when reading pmu->fixed_ctr_ctrl | From | Mingwei Zhang <> |
| |
Fix type length error since pmu->fixed_ctr_ctrl is u64 but the local variable old_fixed_ctr_ctrl is u8. Truncating the value leads to information loss at runtime. This leads to incorrect value in old_ctrl retrieved from each field of old_fixed_ctr_ctrl and causes incorrect code execution within the for loop of reprogram_fixed_counters(). So fix this type to u64.
Fixes: 76d287b2342e ("KVM: x86/pmu: Drop "u8 ctrl, int idx" for reprogram_fixed_counter()") Signed-off-by: Mingwei Zhang <mizhang@google.com> --- arch/x86/kvm/vmx/pmu_intel.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/kvm/vmx/pmu_intel.c b/arch/x86/kvm/vmx/pmu_intel.c index a6216c874729..315c7c2ba89b 100644 --- a/arch/x86/kvm/vmx/pmu_intel.c +++ b/arch/x86/kvm/vmx/pmu_intel.c @@ -71,7 +71,7 @@ static int fixed_pmc_events[] = { static void reprogram_fixed_counters(struct kvm_pmu *pmu, u64 data) { struct kvm_pmc *pmc; - u8 old_fixed_ctr_ctrl = pmu->fixed_ctr_ctrl; + u64 old_fixed_ctr_ctrl = pmu->fixed_ctr_ctrl; int i; pmu->fixed_ctr_ctrl = data; base-commit: 6613476e225e090cc9aad49be7fa504e290dd33d -- 2.43.0.429.g432eaa2c6b-goog
| ![\](/images/icornerr.gif) |