linux/arch/x86/kvm/vmx
Paolo Bonzini 22d0bc0721 KVM x86 fixes for 6.8:
- Make a KVM_REQ_NMI request while handling KVM_SET_VCPU_EVENTS if and only
    if the incoming events->nmi.pending is non-zero.  If the target vCPU is in
    the UNITIALIZED state, the spurious request will result in KVM exiting to
    userspace, which in turn causes QEMU to constantly acquire and release
    QEMU's global mutex, to the point where the BSP is unable to make forward
    progress.
 
  - Fix a type (u8 versus u64) goof that results in pmu->fixed_ctr_ctrl being
    incorrectly truncated, and ultimately causes KVM to think a fixed counter
    has already been disabled (KVM thinks the old value is '0').
 
  - Fix a stack leak in KVM_GET_MSRS where a failed MSR read from userspace
    that is ultimately ignored due to ignore_msrs=true doesn't zero the output
    as intended.
 -----BEGIN PGP SIGNATURE-----
 
 iQJGBAABCgAwFiEEMHr+pfEFOIzK+KY1YJEiAU0MEvkFAmXKt90SHHNlYW5qY0Bn
 b29nbGUuY29tAAoJEGCRIgFNDBL5e5wP/jU3Zuul2e7fb4E6RN/GPhAFSTzG7Cwe
 4lVSSSPmOQsEXTKwCOMj7fgwF9qVSLzLRi62MKziTJY/1FDsTcI3xlM7nM2wwQC2
 26evIzI3qB54rHQdviuh1jwh6scZH7xLw7kANE+8x4skkm6AZB1IUnj3utR3fEPj
 mIUA5kGQxEAEDrn0TFzrRgIw4JngKjrCwmpT+vbmR37flC+Rwv8jr4JY1E3cBAT3
 KEilv3Fg07gbvagWGZNSSUNqQos5MsnLifdryKbA/vuIJf+j/01CMo5KtLKshiaX
 t4gXPldVZDXdxjH6im0wRAX4s/FpZg3vVje2OxPbzwMVb5+XvLewzjzagQ1lFA3I
 gsNXF8uGdYn0fb8T/wQG4ulWBw6A844PSmGONCwLDA+GZuL9xjMIK5d1litvb/im
 bEP1Ahv6UcnDNKHqRzuFXQENiS2uQdJNLs7p291oDNkTm/CGjDUgFXPuaCehWrUf
 ZZf1dxmIPM/Xt2j19mS/HnTHD114A8t1GTx799kBXbG4x0ScVQclkhRk6yFG3ObA
 14uXxxAdEBoZGBJ2yr5FbddvRLswbWugFoxKbtCZ/CHMopOUQcRRmRb7Lm1NHLtg
 Ae/sHO6gQ1xcrbwpMCq+6RjFK57yW+n1TB8ZTmAE2RQynGqzReSTlUNtfn3yMg4v
 hz+2zGzezoeN
 =92ae
 -----END PGP SIGNATURE-----

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

KVM x86 fixes for 6.8:

 - Make a KVM_REQ_NMI request while handling KVM_SET_VCPU_EVENTS if and only
   if the incoming events->nmi.pending is non-zero.  If the target vCPU is in
   the UNITIALIZED state, the spurious request will result in KVM exiting to
   userspace, which in turn causes QEMU to constantly acquire and release
   QEMU's global mutex, to the point where the BSP is unable to make forward
   progress.

 - Fix a type (u8 versus u64) goof that results in pmu->fixed_ctr_ctrl being
   incorrectly truncated, and ultimately causes KVM to think a fixed counter
   has already been disabled (KVM thinks the old value is '0').

 - Fix a stack leak in KVM_GET_MSRS where a failed MSR read from userspace
   that is ultimately ignored due to ignore_msrs=true doesn't zero the output
   as intended.
2024-02-14 12:34:43 -05:00
..
capabilities.h KVM: VMX: Rename XSAVES control to follow KVM's preferred "ENABLE_XYZ" 2023-08-17 11:38:28 -07:00
hyperv_evmcs.c KVM: VMX: Split off hyperv_evmcs.{ch} 2023-12-07 09:34:19 -08:00
hyperv_evmcs.h KVM: VMX: Split off hyperv_evmcs.{ch} 2023-12-07 09:34:19 -08:00
hyperv.c KVM: VMX: Split off hyperv_evmcs.{ch} 2023-12-07 09:34:19 -08:00
hyperv.h KVM: nVMX: Introduce accessor to get Hyper-V eVMCS pointer 2023-12-07 09:35:08 -08:00
nested.c Generic: 2024-01-17 13:03:37 -08:00
nested.h KVM: nVMX: Introduce helpers to check if Hyper-V evmptr12 is valid/set 2023-12-07 09:35:03 -08:00
pmu_intel.c KVM: x86/pmu: Fix type length error when reading pmu->fixed_ctr_ctrl 2024-02-02 14:07:27 -08:00
posted_intr.c x86/apic: Wrap IPI calls into helper functions 2023-08-09 12:00:55 -07:00
posted_intr.h KVM: VMX: enable IPI virtualization 2022-06-08 04:47:37 -04:00
run_flags.h KVM: VMX: Prevent guest RSB poisoning attacks with eIBRS 2022-06-27 10:34:00 +02:00
sgx.c KVM: x86: Untag addresses for LAM emulation where applicable 2023-11-28 17:54:07 -08:00
sgx.h KVM: VMX: Enable SGX virtualization for SGX1, SGX2 and LC 2021-04-20 04:18:56 -04:00
vmcs12.c KVM: x86: Unify pr_fmt to use module name for all KVM modules 2022-12-29 15:47:35 -05:00
vmcs12.h bug: introduce ASSERT_STRUCT_OFFSET 2022-11-09 12:31:16 -05:00
vmcs_shadow_fields.h
vmcs.h KVM: VMX: Handle NMI VM-Exits in noinstr region 2023-01-24 10:36:41 -08:00
vmenter.S KVM: SVM,VMX: Use %rip-relative addressing to access kvm_rebooting 2023-11-30 12:51:54 -08:00
vmx_onhyperv.c KVM: VMX: Split off vmx_onhyperv.{ch} from hyperv.{ch} 2023-12-07 09:34:06 -08:00
vmx_onhyperv.h KVM: VMX: Split off hyperv_evmcs.{ch} 2023-12-07 09:34:19 -08:00
vmx_ops.h work around gcc bugs with 'asm goto' with outputs 2024-02-09 15:57:48 -08:00
vmx.c work around gcc bugs with 'asm goto' with outputs 2024-02-09 15:57:48 -08:00
vmx.h KVM x86 support for virtualizing Linear Address Masking (LAM) 2024-01-08 08:10:12 -05:00