Linus, The following changes since commit 2da4a23599c263bd4a7658c2fe561cb3a73ea6ae: KVM: selftests: Remove __NR_userfaultfd syscall fallback (2021-09-22 10:24:02 -0400) are available in the Git repository at: https://git.kernel.org/pub/scm/virt/kvm/kvm.git tags/for-linus for you to fetch changes up to 50b078184604fea95adbb144ff653912fb0e48c6: Merge tag 'kvmarm-fixes-5.15-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into kvm-master (2021-09-24 06:04:42 -0400) ---------------------------------------------------------------- x86: - missing TLB flush - nested virtualization fixes for SMM (secure boot on nested hypervisor) and other nested SVM fixes - syscall fuzzing fixes - live migration fix for AMD SEV - mirror VMs now work for SEV-ES too - fixes for reset - possible out-of-bounds access in IOAPIC emulation - fix enlightened VMCS on Windows 2022 ARM: - Add missing FORCE target when building the EL2 object - Fix a PMU probe regression on some platforms Generic: - KCSAN fixes selftests: - random fixes, mostly for clang compilation ---------------------------------------------------------------- A bit late... I got sidetracked by back-from-vacation routines first and conferences second. But most of these patches are already a few weeks old and things look more calm on the mailing list than what this pull request would suggest. Paolo Chenyi Qiang (1): KVM: nVMX: Fix nested bus lock VM exit David Matlack (3): KVM: selftests: Change backing_src flag to -s in demand_paging_test KVM: selftests: Refactor help message for -s backing_src KVM: selftests: Create a separate dirty bitmap per slot Fares Mehanna (1): kvm: x86: Add AMD PMU MSRs to msrs_to_save_all[] Haimin Zhang (1): KVM: x86: Handle SRCU initialization failure during page track init Hou Wenlong (1): kvm: fix wrong exception emulation in check_rdtsc Lai Jiangshan (3): KVM: X86: Fix missed remote tlb flush in rmap_write_protect() KVM: X86: Synchronize the shadow pagetable before link it KVM: Remove tlbs_dirty Marc Zyngier (1): KVM: arm64: Fix PMU probe ordering Maxim Levitsky (11): KVM: x86: nSVM: restore the L1 host state prior to resuming nested guest on SMM exit KVM: x86: reset pdptrs_from_userspace when exiting smm KVM: x86: SVM: call KVM_REQ_GET_NESTED_STATE_PAGES on exit from SMM mode KVM: x86: nSVM: refactor svm_leave_smm and smm_enter_smm KVM: x86: VMX: synthesize invalid VM exit when emulating invalid guest state KVM: x86: nVMX: don't fail nested VM entry on invalid guest state if !from_vmentry KVM: x86: nVMX: re-evaluate emulation_required on nested VM exit KVM: x86: nSVM: restore int_vector in svm_clear_vintr KVM: x86: selftests: test simultaneous uses of V_IRQ from L1 and L0 KVM: x86: nSVM: test eax for 4K alignment for GP errata workaround KVM: x86: nSVM: don't copy virt_ext from vmcb12 Mingwei Zhang (1): KVM: SVM: fix missing sev_decommission in sev_receive_start Oliver Upton (4): selftests: KVM: Fix check for !POLLIN in demand_paging_test selftests: KVM: Align SMCCC call with the spec in steal_time selftests: KVM: Call ucall_init when setting up in rseq_test selftests: KVM: Explicitly use movq to read xmm registers Paolo Bonzini (1): Merge tag 'kvmarm-fixes-5.15-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into kvm-master Peter Gonda (3): KVM: SEV: Acquire vcpu mutex when updating VMSA KVM: SEV: Update svm_vm_copy_asid_from for SEV-ES KVM: SEV: Allow some commands for mirror VM Sean Christopherson (8): KVM: x86: Mark all registers as avail/dirty at vCPU creation KVM: x86: Clear KVM's cached guest CR3 at RESET/INIT KVM: VMX: Remove defunct "nr_active_uret_msrs" field KVM: SEV: Pin guest memory for write for RECEIVE_UPDATE_DATA KVM: x86: Query vcpu->vcpu_idx directly and drop its accessor KVM: x86: Identify vCPU0 by its vcpu_idx instead of its vCPUs array entry KVM: Clean up benign vcpu->cpu data races when kicking vCPUs KVM: KVM: Use cpumask_available() to check for NULL cpumask when kicking vCPUs Sergey Senozhatsky (1): KVM: do not shrink halt_poll_ns below grow_start Vitaly Kuznetsov (2): KVM: x86: Fix stack-out-of-bounds memory access from ioapic_write_indirect() KVM: nVMX: Filter out all unsupported controls when eVMCS was activated Yu Zhang (1): KVM: nVMX: fix comments of handle_vmon() Zenghui Yu (1): KVM: arm64: nvhe: Fix missing FORCE for hyp-reloc.S build rule arch/arm64/kvm/hyp/nvhe/Makefile | 2 +- arch/arm64/kvm/perf.c | 3 - arch/arm64/kvm/pmu-emul.c | 9 +- arch/s390/kvm/interrupt.c | 4 +- arch/s390/kvm/kvm-s390.c | 2 +- arch/s390/kvm/kvm-s390.h | 2 +- arch/x86/include/asm/kvm_page_track.h | 2 +- arch/x86/kvm/emulate.c | 2 +- arch/x86/kvm/hyperv.c | 7 +- arch/x86/kvm/hyperv.h | 2 +- arch/x86/kvm/ioapic.c | 10 +- arch/x86/kvm/mmu/mmu.c | 17 +-- arch/x86/kvm/mmu/page_track.c | 4 +- arch/x86/kvm/mmu/paging_tmpl.h | 46 +++---- arch/x86/kvm/svm/nested.c | 10 +- arch/x86/kvm/svm/sev.c | 92 +++++++++----- arch/x86/kvm/svm/svm.c | 137 +++++++++++---------- arch/x86/kvm/svm/svm.h | 3 +- arch/x86/kvm/vmx/evmcs.c | 12 +- arch/x86/kvm/vmx/nested.c | 24 ++-- arch/x86/kvm/vmx/vmx.c | 37 ++++-- arch/x86/kvm/vmx/vmx.h | 5 +- arch/x86/kvm/x86.c | 28 ++++- drivers/perf/arm_pmu.c | 2 + include/kvm/arm_pmu.h | 3 - include/linux/kvm_host.h | 6 - include/linux/perf/arm_pmu.h | 6 + tools/testing/selftests/kvm/.gitignore | 1 + tools/testing/selftests/kvm/Makefile | 1 + .../selftests/kvm/access_tracking_perf_test.c | 6 +- tools/testing/selftests/kvm/demand_paging_test.c | 15 ++- tools/testing/selftests/kvm/dirty_log_perf_test.c | 62 +++++++--- tools/testing/selftests/kvm/include/test_util.h | 4 +- .../selftests/kvm/include/x86_64/processor.h | 34 ++--- tools/testing/selftests/kvm/kvm_page_table_test.c | 7 +- tools/testing/selftests/kvm/lib/test_util.c | 17 ++- tools/testing/selftests/kvm/rseq_test.c | 1 + tools/testing/selftests/kvm/steal_time.c | 4 +- .../selftests/kvm/x86_64/svm_int_ctl_test.c | 128 +++++++++++++++++++ virt/kvm/kvm_main.c | 68 +++++++--- 40 files changed, 556 insertions(+), 269 deletions(-) create mode 100644 tools/testing/selftests/kvm/x86_64/svm_int_ctl_test.c