[PATCH 0/3] KVM: SVM: Unregister GALog notifier on module exit

Sean Christopherson posted 3 patches 3 months, 3 weeks ago
arch/x86/kvm/svm/avic.c |  8 +++++++-
arch/x86/kvm/svm/svm.c  | 15 +++++++++------
arch/x86/kvm/svm/svm.h  |  2 +-
3 files changed, 17 insertions(+), 8 deletions(-)
[PATCH 0/3] KVM: SVM: Unregister GALog notifier on module exit
Posted by Sean Christopherson 3 months, 3 weeks ago
Unregister KVM's GALog notifier when kvm-amd.ko is being unloaded so that
a spurious GALog event, e.g. due to some other bug, doesn't escalate to a
use-after-free.

I deliberately didn't tag this for stable@, as shuffling the setup code
around could easily introduce more problems than it solves, e.g. the patch
might apply cleanly to an older kernel, but blow up at runtime due to the
ordering being wrong.

My thought/plan is to get the fix into 6.18, where avic is first enabled by
default, but not bother getting it into older LTS kernels.

Sean Christopherson (3):
  KVM: SVM: Initialize per-CPU svm_data at the end of hardware setup
  KVM: SVM: Unregister KVM's GALog notifier on kvm-amd.ko exit
  KVM: SVM: Make avic_ga_log_notifier() local to avic.c

 arch/x86/kvm/svm/avic.c |  8 +++++++-
 arch/x86/kvm/svm/svm.c  | 15 +++++++++------
 arch/x86/kvm/svm/svm.h  |  2 +-
 3 files changed, 17 insertions(+), 8 deletions(-)


base-commit: 6b36119b94d0b2bb8cea9d512017efafd461d6ac
-- 
2.51.0.858.gf9c4a03a3a-goog
Re: [PATCH 0/3] KVM: SVM: Unregister GALog notifier on module exit
Posted by Sean Christopherson 3 months ago
On Thu, 16 Oct 2025 12:06:40 -0700, Sean Christopherson wrote:
> Unregister KVM's GALog notifier when kvm-amd.ko is being unloaded so that
> a spurious GALog event, e.g. due to some other bug, doesn't escalate to a
> use-after-free.
> 
> I deliberately didn't tag this for stable@, as shuffling the setup code
> around could easily introduce more problems than it solves, e.g. the patch
> might apply cleanly to an older kernel, but blow up at runtime due to the
> ordering being wrong.
> 
> [...]

Applied to kvm-x86 fixes, thanks!

[1/3] KVM: SVM: Initialize per-CPU svm_data at the end of hardware setup
      https://github.com/kvm-x86/linux/commit/59a217ced3e7
[2/3] KVM: SVM: Unregister KVM's GALog notifier on kvm-amd.ko exit
      https://github.com/kvm-x86/linux/commit/adc6ae972971
[3/3] KVM: SVM: Make avic_ga_log_notifier() local to avic.c
      https://github.com/kvm-x86/linux/commit/aaac099459f9

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