linux/arch/x86/kvm
Paolo Bonzini c2f24f140c KVM fixes for 7.3-rcN
- Fix a brown paper bag bug where KVM would incorrectly treat Intel PMU MSRs
    as valid on AMD.
 
  - Fix a regression in the hardware disable selftest where it checked the wrong
    macro when detecting glibc support (breaks at least musl).
 
  - Never clear KVM_REQ_VM_DEAD so that dead VMs stay dead, which is especially
    important for KVM_BUG_ON() flows, which often guard more dangerous bugs.
 
  - Re-pend GET_NESTED_STATE_PAGES if getting the pages fails, to fix a bug
    where KVM would let userspace run a broken setup with stale vmcs12 pages.
 
  - Fix a class of bugs where KVM would fail to fill kvm_run exit fields if
    getting nested pages failed.
 
  - Treat reserved entries in the memory attributes xarray as "no attributes",
    to fix false positives when checking for mixed attributes.
 
  - Fix memcg accounting for the memory attributes xarray (the xarray library
    subtly requires the xarray to be configured for accounting upfront; the gfp
    flags taken at runtime are used only rarely).
 
  - Don't pre-reserve xarray entries when storing empty attributes, as storing
    NULL must not require memory allocation (KVM and other subsystems heavily
    rely on this behavior).
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEKTobbabEP7vbhhN9OlYIJqCjN/0FAmq3A78ACgkQOlYIJqCj
 N/1uVA//TVDznH49htPNV4dh7vfiE8oF9ka4e9KTPA2eMdDeNVInNXBz0ZbJCdNN
 Hm7iZZfk8yx0JCCGXdp8EoYg66iwulBr0KZXRP2U2LoyiRELA1VtGGOLUVP3PXjF
 hElXD56+RrkJJSucINlFU7kSfl2hY/Jbaq87HVBLpXp8iY3stBbLdgMT1ReLdorO
 s9i2uJRqHKjtSG330qDYEG1TtRAdUehgRbxbbJVuOEYtU37tCvX6ai8dEjZAvxYo
 1VZOD05ITo12HUXPiZjIMoNTujQnZKmGYlBYczWlfOmkY/tN6SV8M41srV3ZcK0k
 XGOQM6tOzbVTWaSH/pW1krklnOFAbnL6QzHzb3enHZfUN8AikHPDyfsJWzt/s0f/
 ATTQk03OYL4fJMQSQ778EI6S4PcOzY9HiBxDXM5ySpUv1uyXw8ZFsQSdH/TYTMhi
 Dce42r5rlGa1vAKHwI1Xya2su3REhWzxYxGpUOg/PtRRqWvL2RMrHArzEd6zu+Ti
 jPinuQuXYcT1FTCa5S39NWhU4gWpjw8Pvs9VuUYSCDYxZCaqQ2YheYgsAcgPqgfE
 hS43XVmmOB/tXGsvu+/YuEfbzNV/mHOuJBcjBnnsBP3d6EFB02FPKg4/LYiXujYo
 OocUbSB7bKd87W3B+Ys3QmgOtZh4qX/aLYusa2vQ4Dp9ujXqcWs=
 =LG0B
 -----END PGP SIGNATURE-----

Merge tag 'kvm-x86-fixes-7.3-rc5' of https://github.com/kvm-x86/linux into HEAD

KVM fixes for 7.3-rcN

 - Fix a brown paper bag bug where KVM would incorrectly treat Intel PMU MSRs
   as valid on AMD.

 - Fix a regression in the hardware disable selftest where it checked the wrong
   macro when detecting glibc support (breaks at least musl).

 - Never clear KVM_REQ_VM_DEAD so that dead VMs stay dead, which is especially
   important for KVM_BUG_ON() flows, which often guard more dangerous bugs.

 - Re-pend GET_NESTED_STATE_PAGES if getting the pages fails, to fix a bug
   where KVM would let userspace run a broken setup with stale vmcs12 pages.

 - Fix a class of bugs where KVM would fail to fill kvm_run exit fields if
   getting nested pages failed.

 - Treat reserved entries in the memory attributes xarray as "no attributes",
   to fix false positives when checking for mixed attributes.

 - Fix memcg accounting for the memory attributes xarray (the xarray library
   subtly requires the xarray to be configured for accounting upfront; the gfp
   flags taken at runtime are used only rarely).

 - Don't pre-reserve xarray entries when storing empty attributes, as storing
   NULL must not require memory allocation (KVM and other subsystems heavily
   rely on this behavior).
History 2026-09-26 00:40:07 -04:00
..
mmu KVM: Never clear KVM_REQ_VM_DEAD from a vCPU's requests 2026-09-11 12:06:05 -07:00
svm KVM fixes for 7.3-rcN 2026-09-26 00:40:07 -04:00
vmx KVM: x86: Fill kvm_run exit fields in common get_nested_state_pages() error paths 2026-09-22 07:32:50 -07:00
.gitignore KVM: x86: use a separate asm-offsets.c file 2022-11-09 12:10:17 -05:00
cpuid.c Arm: 2026-08-25 11:48:04 -07:00
cpuid.h KVM: x86: Fix wrong return value type in guest_cpuid_has() 2026-05-28 06:01:52 -07:00
debugfs.c KVM: x86: Use fls() instead of ffs() for rmaps histogram bucketing 2026-05-28 06:09:24 -07:00
emulate.c Arm: 2026-08-25 11:48:04 -07:00
fpu.h KVM: x86: Move kvm_{load,put}_guest_fpu() to fpu.h 2026-06-24 08:13:09 -04:00
hyperv.c KVM x86 misc changes for 7.3 2026-08-18 13:41:51 +02:00
hyperv.h KVM: x86: Move "struct kvm_vcpu_hv" and all children from kvm_host.h => hyperv.h 2026-07-08 13:41:21 -07:00
i8254.c treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
i8254.h KVM: x86: Move IRQ mask notifier infrastructure to I/O APIC emulation 2025-06-20 13:52:52 -07:00
i8259.c KVM: x86: WARN and fail kvm_set_irq() if a PIC or I/O APIC vector is invalid 2026-06-24 11:53:36 +02:00
ioapic.c KVM: x86: Move a pile of stuff from kvm_host.h => x86.h 2026-06-24 08:24:05 -04:00
ioapic.h KVM: x86: Move __kvm_irq_line_state() from kvm_host.h => ioapic.h 2026-06-24 08:24:05 -04:00
irq.c Merge tag 'kvm-riscv-7.3-1' of https://github.com/kvm-riscv/linux into HEAD 2026-08-18 13:09:51 +02:00
irq.h KVM: x86: Don't WARN if IRQ disappears when Xen emulation is enabled. 2026-07-27 12:44:00 -07:00
Kconfig KVM: guest_memfd: Rename prepare() hook and Kconfig to make_private() / CONVERT 2026-07-27 09:42:42 -07:00
kvm-asm-offsets.c KVM: VMX: remove regs argument of __vmx_vcpu_run 2026-04-28 06:56:06 -04:00
kvm_emulate.h KVM: x86: Consolidate CPUID fault handling for emulator and interception logic 2026-05-27 11:21:41 -07:00
kvm_onhyperv.c KVM: x86: Export KVM-internal symbols for sub-modules only 2025-09-30 13:40:02 -04:00
kvm_onhyperv.h KVM: x86: Move Hyper-V partition assist page out of Hyper-V emulation context 2023-12-07 09:34:01 -08:00
lapic.c KVM x86 misc changes for 7.3 2026-08-18 13:41:51 +02:00
lapic.h KVM: x86: Move "struct kvm_apic_map" definition from kvm_host.h => lapic.h 2026-07-08 13:41:20 -07:00
Makefile KVM: x86: Move the bulk of MSR specific code from x86.c to msrs.{c,h} 2026-06-24 08:13:09 -04:00
mmu.h KVM: x86: Add static calls for nested virtualization ops 2026-07-10 09:07:07 -07:00
msrs.c Arm: 2026-08-25 11:48:04 -07:00
msrs.h KVM: x86: Move supported EFER bits to kvm_caps 2026-07-22 13:41:55 -07:00
mtrr.c KVM: x86: Move the bulk of MSR specific code from x86.c to msrs.{c,h} 2026-06-24 08:13:09 -04:00
pmu.c KVM: x86/pmu: Move Intel PMU global MSRs to intel_is_valid_msr() 2026-09-11 12:02:07 -07:00
pmu.h KVM: x86/pmu: Clean up vPMU comments and stray blank lines 2026-08-05 16:42:23 -07:00
regs.c KVM: x86: Check EFER validity on KVM_SET_SREGS* 2026-07-22 13:42:29 -07:00
regs.h KVM: x86: Move CR and DR macro definitions from kvm_host.h => regs.h 2026-07-08 13:41:18 -07:00
reverse_cpuid.h treewide: Explicitly include the x86 CPUID headers 2026-05-06 14:29:59 +02:00
smm.c KVM: nVMX: Synthesize SHUTDOWN on RSM if L2 requires emulation 2026-07-31 14:03:08 -07:00
smm.h KVM: x86: Save and reload SSP to/from SMRAM 2025-09-23 09:11:22 -07:00
trace.h KVM: x86: Fix null pointer deref due to dummy array in trace_kvm_inj_exception() 2026-07-13 06:24:36 -07:00
tss.h KVM: x86: Add static asserts to document connection b/w TSS structs and macros 2026-07-08 13:41:19 -07:00
vmenter.h KVM: VMX: Macrofy GPR swapping in __vmx_vcpu_run() 2026-05-30 22:41:00 +02:00
x86.c KVM: x86: Fill kvm_run exit fields in common get_nested_state_pages() error paths 2026-09-22 07:32:50 -07:00
x86.h KVM x86 misc changes for 7.3 2026-08-18 13:41:51 +02:00
xen.c Arm: 2026-08-25 11:48:04 -07:00
xen.h KVM: x86: Remove runtime Xen TSC frequency CPUID update 2026-08-07 09:11:56 -07:00