Linus, The following changes since commit f0c4d9fc9cc9462659728d168387191387e903cc: Linux 6.1-rc4 (2022-11-06 15:07:11 -0800) 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 6d3085e4d89ad7e6c7f1c6cf929d903393565861: KVM: x86/mmu: Block all page faults during kvm_zap_gfn_range() (2022-11-11 07:19:46 -0500) This is a pretty large diffstat for this time of the release. The main culprit is a reorganization of the AMD assembly trampoline, allowing percpu variables to be accessed early. This is needed for the return stack depth tracking retbleed mitigation that will be in 6.2, but it also makes it possible to tighten the IBRS restore on vmexit. The latter change is a long tail of the spectrev2/retbleed patches (the corresponding Intel change was simpler and went in already last June), which is why I am including it right now instead of sharing a topic branch with tip. Being assembly and being rich in comments makes the line count balloon a bit, but I am pretty confident in the change (famous last words) because the reorganization actually makes everything simpler and more understandable than before. It has also had external review and has been tested on the aforementioned 6.2 changes, which explode quite brutally without the fix. Apart from this, things are pretty normal. Do shout metaphorically if you disagree. Thanks, Paolo ---------------------------------------------------------------- s390: * PCI fix * PV clock fix x86: * Fix clash between PMU MSRs and other MSRs * Prepare SVM assembly trampoline for 6.2 retbleed mitigation and for... * ... tightening IBRS restore on vmexit, moving it before the first RET or indirect branch * Fix log level for VMSA dump * Block all page faults during kvm_zap_gfn_range() Tools: * kvm_stat: fix incorrect detection of debugfs * kvm_stat: update vmexit definitions ---------------------------------------------------------------- Like Xu (3): KVM: x86/pmu: Do not speculatively query Intel GP PMCs that don't exist yet KVM: x86/pmu: Limit the maximum number of supported Intel GP counters KVM: x86/pmu: Limit the maximum number of supported AMD GP counters Matthias Gerstner (1): tools/kvm_stat: fix incorrect detection of debugfs Nico Boehr (1): KVM: s390: pv: don't allow userspace to set the clock under PV Paolo Bonzini (12): KVM: x86: use a separate asm-offsets.c file KVM: SVM: replace regs argument of __svm_vcpu_run() with vcpu_svm KVM: SVM: adjust register allocation for __svm_vcpu_run() KVM: SVM: retrieve VMCB from assembly KVM: SVM: remove unused field from struct vcpu_svm KVM: SVM: remove dead field from struct svm_cpu_data KVM: SVM: do not allocate struct svm_cpu_data dynamically KVM: SVM: move guest vmsave/vmload back to assembly KVM: SVM: restore host save area from assembly KVM: SVM: move MSR_IA32_SPEC_CTRL save/restore to assembly x86, KVM: remove unnecessary argument to x86_virt_spec_ctrl and callers Merge tag 'kvm-s390-master-6.1-1' of https://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD Peter Gonda (1): KVM: SVM: Only dump VMSA to klog at KERN_DEBUG level Rafael Mendonca (1): KVM: s390: pci: Fix allocation size of aift kzdev elements Rong Tao (1): tools/kvm_stat: update exit reasons for vmx/svm/aarch64/userspace Sean Christopherson (1): KVM: x86/mmu: Block all page faults during kvm_zap_gfn_range() Documentation/virt/kvm/devices/vm.rst | 3 + arch/s390/kvm/kvm-s390.c | 26 ++-- arch/s390/kvm/kvm-s390.h | 1 - arch/s390/kvm/pci.c | 2 +- arch/x86/include/asm/kvm_host.h | 7 +- arch/x86/include/asm/spec-ctrl.h | 10 +- arch/x86/kernel/asm-offsets.c | 6 - arch/x86/kernel/cpu/bugs.c | 15 +- arch/x86/kvm/.gitignore | 2 + arch/x86/kvm/Makefile | 12 ++ arch/x86/kvm/kvm-asm-offsets.c | 29 ++++ arch/x86/kvm/mmu/mmu.c | 4 +- arch/x86/kvm/pmu.c | 2 +- arch/x86/kvm/svm/pmu.c | 7 +- arch/x86/kvm/svm/sev.c | 6 +- arch/x86/kvm/svm/svm.c | 105 +++++--------- arch/x86/kvm/svm/svm.h | 11 +- arch/x86/kvm/svm/svm_ops.h | 5 - arch/x86/kvm/svm/vmenter.S | 260 +++++++++++++++++++++++++++------- arch/x86/kvm/vmx/pmu_intel.c | 4 +- arch/x86/kvm/vmx/vmenter.S | 2 +- arch/x86/kvm/x86.c | 25 ++-- tools/kvm/kvm_stat/kvm_stat | 98 +++++++++++-- 23 files changed, 435 insertions(+), 207 deletions(-) create mode 100644 arch/x86/kvm/.gitignore create mode 100644 arch/x86/kvm/kvm-asm-offsets.c