mbox series

[GIT,PULL] KVM fixes for Linux 6.14-rc3

Message ID 20250216062837.4152522-1-pbonzini@redhat.com (mailing list archive)
State New
Headers show
Series [GIT,PULL] KVM fixes for Linux 6.14-rc3 | expand

Pull-request

https://git.kernel.org/pub/scm/virt/kvm/kvm.git tags/for-linus

Message

Paolo Bonzini Feb. 16, 2025, 6:28 a.m. UTC
Linus,

The following changes since commit a64dcfb451e254085a7daee5fe51bf22959d52d3:

  Linux 6.14-rc2 (2025-02-09 12:45:03 -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 d3d0b8dfe06098d6d584266c35e9a0947f5b7132:

  Merge tag 'kvm-x86-fixes-6.14-rcN' of https://github.com/kvm-x86/linux into HEAD (2025-02-14 19:08:35 -0500)

Yet another largish pull request, this time that's (mostly) thanks to ARM
which has a vector register ~rewrite that fixes a good deal of bugs and
actually removes more code than it adds.

Paolo

----------------------------------------------------------------
ARM:

- Large set of fixes for vector handling, specially in the interactions
  between host and guest state. This fixes a number of bugs affecting
  actual deployments, and greatly simplifies the FP/SIMD/SVE handling.
  Thanks to Mark Rutland for dealing with this thankless task.

- Fix an ugly race between vcpu and vgic creation/init, resulting in
  unexpected behaviours.

- Fix use of kernel VAs at EL2 when emulating timers with nVHE.

- Small set of pKVM improvements and cleanups.

x86:

- Fix broken SNP support with KVM module built-in, ensuring the PSP
  module is initialized before KVM even when the module infrastructure
  cannot be used to order initcalls

- Reject Hyper-V SEND_IPI hypercalls if the local APIC isn't being emulated
  by KVM to fix a NULL pointer dereference.

- Enter guest mode (L2) from KVM's perspective before initializing the vCPU's
  nested NPT MMU so that the MMU is properly tagged for L2, not L1.

- Load the guest's DR6 outside of the innermost .vcpu_run() loop, as the
  guest's value may be stale if a VM-Exit is handled in the fastpath.

----------------------------------------------------------------
Ashish Kalra (1):
      x86/sev: Fix broken SNP support with KVM module built-in

Marc Zyngier (4):
      KVM: arm64: Fix __pkvm_host_mkyoung_guest() return value
      KVM: arm64: Convert timer offset VA when accessed in HYP code
      KVM: arm64: timer: Drop warning on failed interrupt signalling
      KVM: arm64: vgic: Hoist SGI/PPI alloc from vgic_init() to kvm_create_vgic()

Mark Rutland (9):
      KVM: arm64: Unconditionally save+flush host FPSIMD/SVE/SME state
      KVM: arm64: Remove host FPSIMD saving for non-protected KVM
      KVM: arm64: Remove VHE host restore of CPACR_EL1.ZEN
      KVM: arm64: Remove VHE host restore of CPACR_EL1.SMEN
      KVM: arm64: Refactor CPTR trap deactivation
      KVM: arm64: Refactor exit handlers
      KVM: arm64: Mark some header functions as inline
      KVM: arm64: Eagerly switch ZCR_EL{1,2}
      KVM: arm64: Simplify warning in kvm_arch_vcpu_load_fp()

Paolo Bonzini (2):
      Merge tag 'kvmarm-fixes-6.14-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD
      Merge tag 'kvm-x86-fixes-6.14-rcN' of https://github.com/kvm-x86/linux into HEAD

Quentin Perret (3):
      KVM: arm64: Improve error handling from check_host_shared_guest()
      KVM: arm64: Simplify np-guest hypercalls
      KVM: arm64: Fix alignment of kvm_hyp_memcache allocations

Sean Christopherson (8):
      KVM: x86: Reject Hyper-V's SEND_IPI hypercalls if local APIC isn't in-kernel
      KVM: selftests: Mark test_hv_cpuid_e2big() static in Hyper-V CPUID test
      KVM: selftests: Manage CPUID array in Hyper-V CPUID test's core helper
      KVM: selftests: Add CPUID tests for Hyper-V features that need in-kernel APIC
      KVM: nSVM: Enter guest mode before initializing nested NPT MMU
      KVM: x86: Load DR6 with guest value only before entering .vcpu_run() loop
      crypto: ccp: Add external API interface for PSP module initialization
      KVM: SVM: Ensure PSP module is initialized if KVM module is built-in

 arch/arm64/include/asm/kvm_emulate.h           |  42 -------
 arch/arm64/include/asm/kvm_host.h              |  22 +---
 arch/arm64/kernel/fpsimd.c                     |  25 -----
 arch/arm64/kvm/arch_timer.c                    |  16 ++-
 arch/arm64/kvm/arm.c                           |   8 --
 arch/arm64/kvm/fpsimd.c                        | 107 ++----------------
 arch/arm64/kvm/hyp/entry.S                     |   5 +
 arch/arm64/kvm/hyp/include/hyp/switch.h        | 148 ++++++++++++++++++-------
 arch/arm64/kvm/hyp/nvhe/hyp-main.c             |  15 ++-
 arch/arm64/kvm/hyp/nvhe/mem_protect.c          |  76 +++++++------
 arch/arm64/kvm/hyp/nvhe/switch.c               |  89 +++++++--------
 arch/arm64/kvm/hyp/vhe/switch.c                |  33 +++---
 arch/arm64/kvm/vgic/vgic-init.c                |  74 ++++++-------
 arch/x86/include/asm/kvm-x86-ops.h             |   1 +
 arch/x86/include/asm/kvm_host.h                |   1 +
 arch/x86/include/asm/sev.h                     |   2 +
 arch/x86/kvm/hyperv.c                          |   6 +-
 arch/x86/kvm/mmu/mmu.c                         |   2 +-
 arch/x86/kvm/svm/nested.c                      |  10 +-
 arch/x86/kvm/svm/sev.c                         |  10 ++
 arch/x86/kvm/svm/svm.c                         |  13 +--
 arch/x86/kvm/vmx/main.c                        |   1 +
 arch/x86/kvm/vmx/vmx.c                         |  10 +-
 arch/x86/kvm/vmx/x86_ops.h                     |   1 +
 arch/x86/kvm/x86.c                             |   3 +
 arch/x86/virt/svm/sev.c                        |  23 ++--
 drivers/crypto/ccp/sp-dev.c                    |  14 +++
 drivers/iommu/amd/init.c                       |  34 +++++-
 include/linux/psp-sev.h                        |   9 ++
 tools/testing/selftests/kvm/x86/hyperv_cpuid.c |  47 +++++---
 30 files changed, 420 insertions(+), 427 deletions(-)

Comments

pr-tracker-bot@kernel.org Feb. 16, 2025, 6:58 p.m. UTC | #1
The pull request you sent on Sun, 16 Feb 2025 07:28:37 +0100:

> https://git.kernel.org/pub/scm/virt/kvm/kvm.git tags/for-linus

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/82ff31645685559e3732f7143538c9fe88221453

Thank you!