[PATCH v6 0/4] KVM: x86: Fix hard lockup with periodic timer in guest
From: Sean Christopherson
Date: Thu Nov 13 2025 - 15:51:17 EST
fuqiang's patch/series to fix a bug in KVM's local APIC timer emulation where
it can trigger a hard lockup due to restarting an hrtimer with an expired
deadline over and over (and over).
v6:
- Split the apic_timer_fn() change to a separate patch (mainly for a
bisection point).
- Handle (and WARN on) period=0 in apic_timer_fn().
- Add a patch to grab a pointer to the kvm_timer struct locally.
- Tag the fixes (and prep work) for stable@.
v5:
- https://lore.kernel.org/all/20251107034802.39763-1-fuqiang.wng@xxxxxxxxx
- Add more details in commit messages and letters.
v4:
- https://lore.kernel.org/all/20251105135340.33335-1-fuqiang.wng@xxxxxxxxx
- merge two patch into one
v3:
- https://lore.kernel.org/all/20251022150055.2531-1-fuqiang.wng@xxxxxxxxx
- Fix: advanced SW timer (hrtimer) expiration does not catch up to current
time.
- optimize the commit message of patch 2
v2:
- https://lore.kernel.org/all/20251021154052.17132-1-fuqiang.wng@xxxxxxxxx
- Added a bugfix for hardlockup in v2
v1: https://lore.kernel.org/all/20251013125117.87739-1-fuqiang.wng@xxxxxxxxx
Sean Christopherson (2):
KVM: x86: WARN if hrtimer callback for periodic APIC timer fires with
period=0
KVM: x86: Grab lapic_timer in a local variable to cleanup periodic
code
fuqiang wang (2):
KVM: x86: Explicitly set new periodic hrtimer expiration in
apic_timer_fn()
KVM: x86: Fix VM hard lockup after prolonged inactivity with periodic
HV timer
arch/x86/kvm/lapic.c | 44 +++++++++++++++++++++++++++++++-------------
1 file changed, 31 insertions(+), 13 deletions(-)
base-commit: 16ec4fb4ac95d878b879192d280db2baeec43272
--
2.52.0.rc1.455.g30608eb744-goog