lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251126014455.788131-4-seanjc@google.com>
Date: Tue, 25 Nov 2025 17:44:50 -0800
From: Sean Christopherson <seanjc@...gle.com>
To: Paolo Bonzini <pbonzini@...hat.com>
Cc: kvm@...r.kernel.org, linux-kernel@...r.kernel.org, 
	Sean Christopherson <seanjc@...gle.com>
Subject: [GIT PULL] KVM: x86: Misc changes for 6.19

The bulk of the vendor agnostic x86 changes for 6.19.  There are multiple
noteworthy changes, though nothing stands out as being _that_ much more
interesting than the rest.

The following changes since commit 211ddde0823f1442e4ad052a2f30f050145ccada:

  Linux 6.18-rc2 (2025-10-19 15:19:16 -1000)

are available in the Git repository at:

  https://github.com/kvm-x86/linux.git tags/kvm-x86-misc-6.19

for you to fetch changes up to c09816f2afce0f89f176c4bc58dc57ec9f204998:

  KVM: x86: Remove unused declaration kvm_mmu_may_ignore_guest_pat() (2025-11-20 07:26:35 -0800)

----------------------------------------------------------------
KVM x86 misc changes for 6.19:

 - Fix an async #PF bug where KVM would clear the completion queue when the
   guest transitioned in and out of paging mode, e.g. when handling an SMI and
   then returning to paged mode via RSM.

 - Fix a bug where TDX would effectively corrupt user-return MSR values if the
   TDX Module rejects VP.ENTER and thus doesn't clobber host MSRs as expected.

 - Leave the user-return notifier used to restore MSRs registered when
   disabling virtualization, and instead pin kvm.ko.  Restoring host MSRs via
   IPI callback is either pointless (clean reboot) or dangerous (forced reboot)
   since KVM has no idea what code it's interrupting.

 - Use the checked version of {get,put}_user(), as Linus wants to kill them
   off, and they're measurably faster on modern CPUs due to the unchecked
   versions containing an LFENCE.

 - Fix a long-lurking bug where KVM's lack of catch-up logic for periodic APIC
   timers can result in a hard lockup in the host.

 - Revert the periodic kvmclock sync logic now that KVM doesn't use a
   clocksource that's subject to NPT corrections.

 - Clean up KVM's handling of MMIO Stale Data and L1TF, and bury the latter
   behind CONFIG_CPU_MITIGATIONS.

 - Context switch XCR0, XSS, and PKRU outside of the entry/exit fastpath as
   the only reason they were handled in the faspath was to paper of a bug in
   the core #MC code that has long since been fixed.

 - Add emulator support for AVX MOV instructions to play nice with emulated
   devices whose PCI BARs guest drivers like to access with large multi-byte
   instructions.

----------------------------------------------------------------
Binbin Wu (1):
      KVM: x86: Add a helper to dedup loading guest/host XCR0 and XSS

Brendan Jackman (1):
      KVM: x86: Unify L1TF flushing under per-CPU variable

Chang S. Bae (1):
      KVM: x86: Refactor REX prefix handling in instruction emulation

Chao Gao (1):
      KVM: x86: Allocate/free user_return_msrs at kvm.ko (un)loading time

Hou Wenlong (1):
      KVM: x86: Don't disable IRQs when unregistering user-return notifier

Lei Chen (3):
      Revert "x86: kvm: introduce periodic global clock updates"
      Revert "x86: kvm: rate-limit global clock updates"
      KVM: x86: remove comment about ntp correction sync for

Maxim Levitsky (2):
      KVM: x86: Fix a semi theoretical bug in kvm_arch_async_page_present_queued()
      KVM: x86: Don't clear async #PF queue when CR0.PG is disabled (e.g. on #SMI)

Paolo Bonzini (9):
      KVM: x86: Add support for emulating MOVNTDQA
      KVM: x86: Move Src2Shift up one bit (use bits 36:32 for Src2 in the emulator)
      KVM: x86: Improve formatting of the emulator's flags table
      KVM: x86: Move op_prefix to struct x86_emulate_ctxt (from x86_decode_insn())
      KVM: x86: Share emulator's common register decoding code
      KVM: x86: Add x86_emulate_ops.get_xcr() callback
      KVM: x86: Add AVX support to the emulator's register fetch and writeback
      KVM: x86: Add emulator support for decoding VEX prefixes
      KVM: x86: Enable support for emulating AVX MOV instructions

Pawan Gupta (1):
      x86/bugs: Use VM_CLEAR_CPU_BUFFERS in VMX as well

Sean Christopherson (18):
      KVM: x86: Add a helper to dedup reporting of unhandled VM-Exits
      KVM: TDX: Explicitly set user-return MSRs that *may* be clobbered by the TDX-Module
      KVM: x86: WARN if user-return MSR notifier is registered on exit
      KVM: x86: Leave user-return notifier registered on reboot/shutdown
      KVM: x86: Use "checked" versions of get_user() and put_user()
      KVM: x86: WARN if hrtimer callback for periodic APIC timer fires with period=0
      KVM: x86: Grab lapic_timer in a local variable to cleanup periodic code
      KVM: VMX: Use on-stack copy of @flags in __vmx_vcpu_run()
      x86/bugs: Decouple ALTERNATIVE usage from VERW macro definition
      x86/bugs: Use an x86 feature to track the MMIO Stale Data mitigation
      KVM: VMX: Handle MMIO Stale Data in VM-Enter assembly via ALTERNATIVES_2
      x86/bugs: KVM: Move VM_CLEAR_CPU_BUFFERS into SVM as SVM_CLEAR_CPU_BUFFERS
      KVM: VMX: Bundle all L1 data cache flush mitigation code together
      KVM: VMX: Disable L1TF L1 data cache flush if CONFIG_CPU_MITIGATIONS=n
      KVM: SVM: Handle #MCs in guest outside of fastpath
      KVM: VMX: Handle #MCs on VM-Enter/TD-Enter outside of the fastpath
      KVM: x86: Load guest/host XCR0 and XSS outside of the fastpath run loop
      KVM: x86: Load guest/host PKRU outside of the fastpath run loop

Yue Haibing (1):
      KVM: x86: Remove unused declaration kvm_mmu_may_ignore_guest_pat()

fuqiang wang (2):
      KVM: x86: Explicitly set new periodic hrtimer expiration in apic_timer_fn()
      KVM: x86: Fix VM hard lockup after prolonged inactivity with periodic HV timer

 arch/x86/include/asm/cpufeatures.h   |   5 ++
 arch/x86/include/asm/hardirq.h       |   4 +-
 arch/x86/include/asm/kvm_host.h      |   7 +--
 arch/x86/include/asm/nospec-branch.h |  30 ++++++------
 arch/x86/kernel/cpu/bugs.c           |  22 ++++-----
 arch/x86/kvm/emulate.c               | 319 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------
 arch/x86/kvm/fpu.h                   |  66 +++++++++++++++++++++++++++
 arch/x86/kvm/hyperv.c                |   2 +-
 arch/x86/kvm/kvm_emulate.h           |  20 ++++++--
 arch/x86/kvm/lapic.c                 |  44 ++++++++++++------
 arch/x86/kvm/mmu.h                   |   2 -
 arch/x86/kvm/mmu/mmu.c               |   2 +-
 arch/x86/kvm/mmu/paging_tmpl.h       |   2 +-
 arch/x86/kvm/mmu/spte.c              |   2 +-
 arch/x86/kvm/svm/svm.c               |  27 ++++-------
 arch/x86/kvm/svm/vmenter.S           |   6 ++-
 arch/x86/kvm/vmx/nested.c            |   2 +-
 arch/x86/kvm/vmx/run_flags.h         |  10 ++--
 arch/x86/kvm/vmx/tdx.c               |  65 ++++++++++----------------
 arch/x86/kvm/vmx/tdx.h               |   1 -
 arch/x86/kvm/vmx/vmenter.S           |  29 +++++++-----
 arch/x86/kvm/vmx/vmx.c               | 264 ++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------
 arch/x86/kvm/x86.c                   | 259 +++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------------------------------------
 arch/x86/kvm/x86.h                   |  16 ++++++-
 24 files changed, 706 insertions(+), 500 deletions(-)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ