]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
Merge branch 'kvm-nvmx-and-vm-teardown' into HEAD
authorPaolo Bonzini <pbonzini@redhat.com>
Wed, 26 Feb 2025 18:23:29 +0000 (13:23 -0500)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 20 Mar 2025 17:13:00 +0000 (13:13 -0400)
The immediate issue being fixed here is a nVMX bug where KVM fails to
detect that, after nested VM-Exit, L1 has a pending IRQ (or NMI).
However, checking for a pending interrupt accesses the legacy PIC, and
x86's kvm_arch_destroy_vm() currently frees the PIC before destroying
vCPUs, i.e. checking for IRQs during the forced nested VM-Exit results
in a NULL pointer deref; that's a prerequisite for the nVMX fix.

The remaining patches attempt to bring a bit of sanity to x86's VM
teardown code, which has accumulated a lot of cruft over the years.  E.g.
KVM currently unloads each vCPU's MMUs in a separate operation from
destroying vCPUs, all because when guest SMP support was added, KVM had a
kludgy MMU teardown flow that broke when a VM had more than one 1 vCPU.
And that oddity lived on, for 18 years...

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
1  2 
arch/arm64/include/asm/kvm_host.h
arch/loongarch/include/asm/kvm_host.h
arch/x86/kvm/x86.c
include/linux/kvm_host.h
virt/kvm/kvm_main.c

Simple merge
Simple merge
Simple merge
Simple merge
Simple merge