KVM: LAPIC: Drop pending LAPIC timer injection when canceling the timer

[ Upstream commit 619f51da09 ]

The timer is disarmed when switching between TSC deadline and other modes;
however, the pending timer is still in-flight, so let's accurately remove
any traces of the previous mode.

Fixes: 4427593258 ("KVM: x86: thoroughly disarm LAPIC timer around TSC deadline switch")
Signed-off-by: Wanpeng Li <wanpengli@tencent.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Wanpeng Li 2022-05-20 10:15:18 -04:00 коммит произвёл Greg Kroah-Hartman
Родитель ca55150bff
Коммит 4f1c4fa37f
1 изменённых файлов: 1 добавлений и 0 удалений

Просмотреть файл

@ -1506,6 +1506,7 @@ static void cancel_apic_timer(struct kvm_lapic *apic)
if (apic->lapic_timer.hv_timer_in_use)
cancel_hv_timer(apic);
preempt_enable();
atomic_set(&apic->lapic_timer.pending, 0);
}
static void apic_update_lvtt(struct kvm_lapic *apic)