[PATCH v6 0/4] KVM: x86: Fix hard lockup with periodic timer in guest

Sean Christopherson posted 4 patches 2 months, 3 weeks ago
arch/x86/kvm/lapic.c | 44 +++++++++++++++++++++++++++++++-------------
1 file changed, 31 insertions(+), 13 deletions(-)
[PATCH v6 0/4] KVM: x86: Fix hard lockup with periodic timer in guest
Posted by Sean Christopherson 2 months, 3 weeks ago
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@gmail.com
 - Add more details in commit messages and letters.

v4:
 - https://lore.kernel.org/all/20251105135340.33335-1-fuqiang.wng@gmail.com
 - merge two patch into one

v3:
 - https://lore.kernel.org/all/20251022150055.2531-1-fuqiang.wng@gmail.com
 - 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@gmail.com
 - Added a bugfix for hardlockup in v2

v1: https://lore.kernel.org/all/20251013125117.87739-1-fuqiang.wng@gmail.com

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
Re: [PATCH v6 0/4] KVM: x86: Fix hard lockup with periodic timer in guest
Posted by Sean Christopherson 2 months, 2 weeks ago
On Thu, 13 Nov 2025 12:51:10 -0800, Sean Christopherson wrote:
> 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@.
> 
> [...]

Applied to kvm-x86 misc, thanks!

[1/4] KVM: x86: WARN if hrtimer callback for periodic APIC timer fires with period=0
      https://github.com/kvm-x86/linux/commit/0ea9494be9c9
[2/4] KVM: x86: Explicitly set new periodic hrtimer expiration in apic_timer_fn()
      https://github.com/kvm-x86/linux/commit/9633f180ce99
[3/4] KVM: x86: Fix VM hard lockup after prolonged inactivity with periodic HV timer
      https://github.com/kvm-x86/linux/commit/18ab3fc8e880
[4/4] KVM: x86: Grab lapic_timer in a local variable to cleanup periodic code
      https://github.com/kvm-x86/linux/commit/a091fe60c2d3

--
https://github.com/kvm-x86/linux/tree/next