linux/tools/testing/selftests/kvm/x86
Paolo Bonzini d75b484605 KVM x86 misc changes for 7.3
- Fix VPID virtualization bugs where KVM would fail to flush hardware TLBs.
 
  - Harden the SNP and TDX "populate" ioctls against bad input, and to prepare
    for supporting in-place private<=>shared conversion.
 
  - Fix a variety of #DB priority bugs.
 
  - Fix a class of races related to enabling Hyper-V emulation on a vCPU after
    the vCPU is visible to the rest of KVM.
 
  - Use static calls for nested virtualization ops.
 
  - Move more KVM-internal code out of x86's kvm_host.h.
 
  - Enumerate support for a variety of Zhaoxin instructions that don't require
    explicit virtualization.
 
  - Fix missing EFER validation bugs, including in the KVM_SET_SREGS* path.
 
  - Harden kvm_vcpu_map() against double-mapping and thus leaking references.
 
  - Misc fixes and cleanups, e.g. for largely benign syzkaller splats.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEKTobbabEP7vbhhN9OlYIJqCjN/0FAmp8uZQACgkQOlYIJqCj
 N/2Pgw//ZmY9QZSvbSS69yYporgRhlTCMq1k3siLYfT19XShCpjO0KK9QTggs57L
 0JXgbv4kwzvWWliwlRVK3e2nw027GI0j0kDRdcI3RAsaufZCjVT300cfUJBy/T4C
 EQLULA8J3Q5pXStuW7SS2bMjI/D6J0+h80co1gfN4yeBDuKXUhtpmW9G/frCQyqI
 3DduI57IBWO+pHImMWVx5jFc6WeDokQPxVASWE4zAU5PobXZSQ2K7KCbcx/rHxLt
 3JZRw9sECF4Rn5DHm9Xag4bfZH0IR1jQ4P5fIzlvvYcW8yhj4CcTK648fVivBCL5
 cpVQRCUVM6DyAX7l6tchP44XHv8a+D/bB2qZUlKvrMiSYA3usW7olKEDNUPI0dsm
 vviat3br/XBu3msNkMZcYoP2WS+ka9zDAkSw7MkNWg1m62UfzvI70AQC0r7Fs/UG
 +bUwMpJ11C/TOjwVL8DNMu0RT2uPgZ2xgtyD/IeVrqlm867xtlGxit+Uqs9V0vro
 LC2YhNR2LYk8NhKO/IZsHI/9eTD4xQyPBn13U6dsZy19fqcPftSJM7avZfQNiA+l
 nPN3v/FZmM22k32hc4NmGCx1/pBU1QtnTcZ0Z91pVzD5+DrvpYnMJpdhazrLL18j
 IN2OK+Vy/WiP2xnAvCjOFcHCVgAe3SCorqIrjRlY2nMbnRmc03E=
 =bQJe
 -----END PGP SIGNATURE-----

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

KVM x86 misc changes for 7.3

 - Fix VPID virtualization bugs where KVM would fail to flush hardware TLBs.

 - Harden the SNP and TDX "populate" ioctls against bad input, and to prepare
   for supporting in-place private<=>shared conversion.

 - Fix a variety of #DB priority bugs.

 - Fix a class of races related to enabling Hyper-V emulation on a vCPU after
   the vCPU is visible to the rest of KVM.

 - Use static calls for nested virtualization ops.

 - Move more KVM-internal code out of x86's kvm_host.h.

 - Enumerate support for a variety of Zhaoxin instructions that don't require
   explicit virtualization.

 - Fix missing EFER validation bugs, including in the KVM_SET_SREGS* path.

 - Harden kvm_vcpu_map() against double-mapping and thus leaking references.

 - Misc fixes and cleanups, e.g. for largely benign syzkaller splats.
2026-08-18 13:41:51 +02:00
..
amx_test.c KVM: selftests: Drop "vaddr_" from APIs that allocate memory for a given VM 2026-04-20 14:54:17 -07:00
aperfmperf_test.c KVM: selftests: Drop L1-provided stacks for L2 guests on x86 2026-06-17 17:56:15 -07:00
apic_bus_clock_test.c KVM: selftests: Verify that KVM returns the configured APIC cycle length 2026-05-23 10:07:40 +02:00
cpuid_test.c KVM: selftests: Drop "vaddr_" from APIs that allocate memory for a given VM 2026-04-20 14:54:17 -07:00
cr4_cpuid_sync_test.c
debug_regs.c KVM: selftests: Verify VMX's GUEST_PENDING_DBG_EXCEPTIONS.BS Consistency Check 2026-05-21 14:40:25 -07:00
dirty_log_page_splitting_test.c KVM: selftests: Use u64 instead of uint64_t 2026-04-20 14:54:16 -07:00
evmcs_smm_controls_test.c KVM: selftests: Use __stringify() instead of custom XSTR() macros 2026-07-29 05:45:25 -07:00
exit_on_emulation_failure_test.c
fastops_test.c KVM: selftests: Use u8 instead of uint8_t 2026-04-20 14:54:17 -07:00
feature_msrs_test.c KVM: selftests: Use u32 instead of uint32_t 2026-04-20 14:54:16 -07:00
fix_hypercall_test.c KVM: selftests: Use __stringify() instead of custom XSTR() macros 2026-07-29 05:45:25 -07:00
flds_emulation.h KVM: selftests: Use u8 instead of uint8_t 2026-04-20 14:54:17 -07:00
hwcr_msr_test.c KVM: selftests: Update hwcr_msr_test for CPUID faulting bit 2026-05-27 11:21:41 -07:00
hyperv_clock.c KVM: selftests: Fix typos in x86 and riscv tests 2026-07-22 14:44:24 -07:00
hyperv_cpuid.c KVM: selftests: Fix typo in hyperv cpuid test message 2025-09-08 13:03:22 -07:00
hyperv_evmcs.c KVM: selftests: Fix typos in x86 and riscv tests 2026-07-22 14:44:24 -07:00
hyperv_extended_hypercalls.c KVM: selftests: Drop "vaddr_" from APIs that allocate memory for a given VM 2026-04-20 14:54:17 -07:00
hyperv_features.c KVM: selftests: hyperv_features: test write of 1 to HV_X64_MSR_RESET 2026-05-26 12:30:50 -07:00
hyperv_ipi.c KVM: selftests: Add helper APIs to cancel+join pthreads 2026-07-31 13:54:47 -07:00
hyperv_svm_test.c KVM: selftests: Drop L1-provided stacks for L2 guests on x86 2026-06-17 17:56:15 -07:00
hyperv_tlb_flush.c KVM: selftests: Add helper APIs to cancel+join pthreads 2026-07-31 13:54:47 -07:00
kvm_buslock_test.c KVM: selftests: Drop L1-provided stacks for L2 guests on x86 2026-06-17 17:56:15 -07:00
kvm_clock_test.c KVM: selftests: Drop "vaddr_" from APIs that allocate memory for a given VM 2026-04-20 14:54:17 -07:00
kvm_pv_test.c KVM: selftests: Use u8 instead of uint8_t 2026-04-20 14:54:17 -07:00
max_vcpuid_cap_test.c
monitor_mwait_test.c KVM: selftests: Use u64 instead of uint64_t 2026-04-20 14:54:16 -07:00
msrs_test.c KVM: selftests: Fix reserved value WRMSR testcase for multi-feature MSRs 2026-03-02 13:18:03 -08:00
nested_close_kvm_test.c KVM: selftests: Drop L1-provided stacks for L2 guests on x86 2026-06-17 17:56:15 -07:00
nested_dirty_log_test.c KVM: selftests: Drop L1-provided stacks for L2 guests on x86 2026-06-17 17:56:15 -07:00
nested_emulation_test.c KVM: selftests: Drop L1-provided stacks for L2 guests on x86 2026-06-17 17:56:15 -07:00
nested_exceptions_test.c KVM: selftests: Drop L1-provided stacks for L2 guests on x86 2026-06-17 17:56:15 -07:00
nested_invalid_cr3_test.c KVM: selftests: Drop L1-provided stacks for L2 guests on x86 2026-06-17 17:56:15 -07:00
nested_set_state_test.c KVM: selftests: Use u64 instead of uint64_t 2026-04-20 14:54:16 -07:00
nested_tdp_fault_test.c KVM: selftests: Drop L1-provided stacks for L2 guests on x86 2026-06-17 17:56:15 -07:00
nested_tsc_adjust_test.c KVM: selftests: Drop L1-provided stacks for L2 guests on x86 2026-06-17 17:56:15 -07:00
nested_tsc_scaling_test.c KVM: selftests: Drop L1-provided stacks for L2 guests on x86 2026-06-17 17:56:15 -07:00
nested_vmsave_vmload_test.c KVM: selftests: Drop L1-provided stacks for L2 guests on x86 2026-06-17 17:56:15 -07:00
nx_huge_pages_test.c KVM: selftests: Use u64 instead of uint64_t 2026-04-20 14:54:16 -07:00
nx_huge_pages_test.sh
platform_info_test.c KVM: selftests: Use u8 instead of uint8_t 2026-04-20 14:54:17 -07:00
pmu_counters_test.c KVM x86 misc changes for 7.3 2026-08-18 13:41:51 +02:00
pmu_event_filter_test.c KVM: x86/pmu: Clean up vPMU comments and stray blank lines 2026-08-05 16:42:23 -07:00
private_mem_conversions_test.c KVM: selftests: Add KVM syscall wrappers for pthread_{cancel,join}() 2026-07-31 13:54:47 -07:00
private_mem_kvm_exits_test.c KVM: selftests: Add KVM syscall wrappers for pthread_{cancel,join}() 2026-07-31 13:54:47 -07:00
recalc_apic_map_test.c KVM: selftests: Add helper APIs to cancel+join pthreads 2026-07-31 13:54:47 -07:00
save_restore_pf_stress_test.c KVM: selftests: Trigger L2->L1 exits stress save+restore and #PF test 2026-07-29 05:48:19 -07:00
set_boot_cpu_id.c KVM: selftests: Use u32 instead of uint32_t 2026-04-20 14:54:16 -07:00
set_sregs_test.c KVM: selftests: Extend set_sregs test to cover EFER 2026-07-27 12:43:56 -07:00
sev_dbg_test.c KVM: selftests: Rename guest_rng to kvm_rng 2026-07-07 11:24:43 -07:00
sev_init2_tests.c KVM selftests changes for 7.3, part 1 2026-08-18 13:16:16 +02:00
sev_migrate_tests.c KVM selftests changes for 7.3, part 2 2026-08-18 13:24:04 +02:00
sev_smoke_test.c KVM: selftests: sev_smoke_test: Only run VM types the host offers 2026-07-21 12:25:26 +02:00
smaller_maxphyaddr_emulation_test.c KVM: selftests: Replace "u64 gpa" with "gpa_t" throughout 2026-04-20 14:54:17 -07:00
smm_test.c KVM: selftests: Use __stringify() instead of custom XSTR() macros 2026-07-29 05:45:25 -07:00
state_test.c KVM: selftests: Drop L1-provided stacks for L2 guests on x86 2026-06-17 17:56:15 -07:00
svm_int_ctl_test.c KVM: selftests: Drop L1-provided stacks for L2 guests on x86 2026-06-17 17:56:15 -07:00
svm_lbr_nested_state.c KVM: selftests: Drop L1-provided stacks for L2 guests on x86 2026-06-17 17:56:15 -07:00
svm_nested_clear_efer_svme.c KVM: selftests: Drop L1-provided stacks for L2 guests on x86 2026-06-17 17:56:15 -07:00
svm_nested_pat_test.c KVM: selftests: Drop L1-provided stacks for L2 guests on x86 2026-06-17 17:56:15 -07:00
svm_nested_shutdown_test.c KVM: selftests: Drop L1-provided stacks for L2 guests on x86 2026-06-17 17:56:15 -07:00
svm_nested_soft_inject_test.c KVM: selftests: Drop L1-provided stacks for L2 guests on x86 2026-06-17 17:56:15 -07:00
svm_nested_vmcb12_gpa.c KVM: selftests: Drop L1-provided stacks for L2 guests on x86 2026-06-17 17:56:15 -07:00
svm_pmu_host_guest_test.c KVM: selftests: Add svm_pmu_host_guest_test for Host-Only/Guest-Only bits 2026-06-17 17:56:17 -07:00
svm_vmcall_test.c KVM: selftests: Drop L1-provided stacks for L2 guests on x86 2026-06-17 17:56:15 -07:00
sync_regs_test.c KVM: selftests: Add helper APIs to cancel+join pthreads 2026-07-31 13:54:47 -07:00
triple_fault_event_test.c KVM: selftests: Drop L1-provided stacks for L2 guests on x86 2026-06-17 17:56:15 -07:00
tsc_msrs_test.c KVM: selftests: Use u64 instead of uint64_t 2026-04-20 14:54:16 -07:00
tsc_scaling_sync.c KVM: selftests: Add KVM syscall wrappers for pthread_{cancel,join}() 2026-07-31 13:54:47 -07:00
ucna_injection_test.c KVM: selftests: Use u32 instead of uint32_t 2026-04-20 14:54:16 -07:00
userspace_io_test.c KVM: selftests: Use u8 instead of uint8_t 2026-04-20 14:54:17 -07:00
userspace_msr_exit_test.c KVM: selftests: Use u8 instead of uint8_t 2026-04-20 14:54:17 -07:00
vmx_apic_access_test.c KVM: selftests: Drop L1-provided stacks for L2 guests on x86 2026-06-17 17:56:15 -07:00
vmx_apicv_updates_test.c KVM: selftests: Drop L1-provided stacks for L2 guests on x86 2026-06-17 17:56:15 -07:00
vmx_exception_with_invalid_guest_state.c KVM: selftests: Verify KVM is loaded when getting a KVM module param 2025-06-20 13:39:10 -07:00
vmx_invalid_nested_guest_state.c KVM x86 misc changes for 7.3 2026-08-18 13:41:51 +02:00
vmx_msrs_test.c KVM: selftests: Use u32 instead of uint32_t 2026-04-20 14:54:16 -07:00
vmx_nested_la57_state_test.c KVM: selftests: Drop L1-provided stacks for L2 guests on x86 2026-06-17 17:56:15 -07:00
vmx_pmu_caps_test.c KVM: selftests: Use u8 instead of uint8_t 2026-04-20 14:54:17 -07:00
vmx_preemption_timer_test.c KVM: selftests: Drop L1-provided stacks for L2 guests on x86 2026-06-17 17:56:15 -07:00
xapic_ipi_test.c KVM selftests changes for 7.3, part 2 2026-08-18 13:24:04 +02:00
xapic_state_test.c KVM: selftests: Use u32 instead of uint32_t 2026-04-20 14:54:16 -07:00
xapic_tpr_test.c KVM: selftests: Use u8 instead of uint8_t 2026-04-20 14:54:17 -07:00
xcr0_cpuid_test.c KVM: selftests: Use u64 instead of uint64_t 2026-04-20 14:54:16 -07:00
xen_shinfo_test.c KVM: selftests: Add helper APIs to cancel+join pthreads 2026-07-31 13:54:47 -07:00
xen_vmcall_test.c
xss_msr_test.c KVM: selftests: Use u64 instead of uint64_t 2026-04-20 14:54:16 -07:00