mbox series

[GIT,PULL] KVM fixes for Linux 6.15-rc2

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

Pull-request

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

Message

Paolo Bonzini April 8, 2025, 10:06 a.m. UTC
Linus,

The following changes since commit 782f9feaa9517caf33186dcdd6b50a8f770ed29b:

  Merge branch 'kvm-pre-tdx' into HEAD (2025-03-20 13:13:13 -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 c478032df0789250afe861bff5306d0dc4a8f9e5:

  Merge tag 'kvmarm-fixes-6.15-1' of https://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD (2025-04-08 05:49:31 -0400)

The diffstat is dominated by moving around some docs that were in the wrong
section ("Documentation: kvm: organize capabilities in the right section").

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

* Rework heuristics for resolving the fault IPA (HPFAR_EL2 v. re-walk
  stage-1 page tables) to align with the architecture. This avoids
  possibly taking an SEA at EL2 on the page table walk or using an
  architecturally UNKNOWN fault IPA.

* Use acquire/release semantics in the KVM FF-A proxy to avoid reading
  a stale value for the FF-A version.

* Fix KVM guest driver to match PV CPUID hypercall ABI.

* Use Inner Shareable Normal Write-Back mappings at stage-1 in KVM
  selftests, which is the only memory type for which atomic
  instructions are architecturally guaranteed to work.

s390:

* Don't use %pK for debug printing and tracepoints.

x86:

* Use a separate subclass when acquiring KVM's per-CPU posted interrupts
  wakeup lock in the scheduled out path, i.e. when adding a vCPU on
  the list of vCPUs to wake, to workaround a false positive deadlock.
  The schedule out code runs with a scheduler lock that the wakeup
  handler takes in the opposite order; but it does so with IRQs disabled
  and cannot run concurrently with a wakeup.

* Explicitly zero-initialize on-stack CPUID unions

* Allow building irqbypass.ko as as module when kvm.ko is a module

* Wrap relatively expensive sanity check with KVM_PROVE_MMU

* Acquire SRCU in KVM_GET_MP_STATE to protect guest memory accesses

selftests:

* Add more scenarios to the MONITOR/MWAIT test.

* Add option to rseq test to override /dev/cpu_dma_latency

* Bring list of exit reasons up to date

* Cleanup Makefile to list once tests that are valid on all architectures

Other:

* Documentation fixes

----------------------------------------------------------------
Chen Ni (1):
      smccc: kvm_guest: Remove unneeded semicolon

Oliver Upton (4):
      smccc: kvm_guest: Align with DISCOVER_IMPL_CPUS ABI
      KVM: arm64: Only read HPFAR_EL2 when value is architecturally valid
      arm64: Convert HPFAR_EL2 to sysreg table
      KVM: arm64: Don't translate FAR if invalid/unsafe

Paolo Bonzini (14):
      Merge tag 'kvm-s390-next-6.15-1' of https://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD
      selftests: kvm: revamp MONITOR/MWAIT tests
      selftests: kvm: bring list of exit reasons up to date
      selftests: kvm: list once tests that are valid on all architectures
      Documentation: KVM: KVM_GET_SUPPORTED_CPUID now exposes TSC_DEADLINE
      Documentation: kvm: give correct name for KVM_CAP_SPAPR_MULTITCE
      Documentation: kvm: drop "Capability" heading from capabilities
      Documentation: kvm: fix some definition lists
      Documentation: kvm: organize capabilities in the right section
      Documentation: kvm: remove KVM_CAP_MIPS_TE
      Merge branch 'kvm-6.15-rc2-cleanups' into HEAD
      Merge branch 'kvm-6.15-rc2-fixes' into HEAD
      Merge branch 'kvm-pi-fix-lockdep' into HEAD
      Merge tag 'kvmarm-fixes-6.15-1' of https://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD

Raghavendra Rao Ananta (2):
      KVM: arm64: selftests: Introduce and use hardware-definition macros
      KVM: arm64: selftests: Explicitly set the page attrs to Inner-Shareable

Sean Christopherson (6):
      KVM: x86: Acquire SRCU in KVM_GET_MP_STATE to protect guest memory accesses
      KVM: selftests: Add option to rseq test to override /dev/cpu_dma_latency
      KVM: x86/mmu: Wrap sanity check on number of TDP MMU pages with KVM_PROVE_MMU
      KVM: Allow building irqbypass.ko as as module when kvm.ko is a module
      KVM: x86: Explicitly zero-initialize on-stack CPUID unions
      KVM: VMX: Assert that IRQs are disabled when putting vCPU on PI wakeup list

Thomas Weißschuh (2):
      KVM: s390: Don't use %pK through tracepoints
      KVM: s390: Don't use %pK through debug printing

Will Deacon (1):
      KVM: arm64: Use acquire/release to communicate FF-A version negotiation

Yan Zhao (1):
      KVM: VMX: Use separate subclasses for PI wakeup lock to squash false positive

 Documentation/virt/kvm/api.rst                     | 1147 ++++++++++----------
 arch/arm64/include/asm/esr.h                       |   44 +-
 arch/arm64/include/asm/kvm_emulate.h               |    7 +-
 arch/arm64/include/asm/kvm_ras.h                   |    2 +-
 arch/arm64/kvm/hyp/include/hyp/fault.h             |   70 +-
 arch/arm64/kvm/hyp/nvhe/ffa.c                      |    9 +-
 arch/arm64/kvm/hyp/nvhe/mem_protect.c              |    9 +-
 arch/arm64/kvm/mmu.c                               |   31 +-
 arch/arm64/tools/sysreg                            |    7 +
 arch/s390/kvm/intercept.c                          |    2 +-
 arch/s390/kvm/interrupt.c                          |    8 +-
 arch/s390/kvm/kvm-s390.c                           |   10 +-
 arch/s390/kvm/trace-s390.h                         |    4 +-
 arch/x86/include/asm/kvm_host.h                    |    7 +-
 arch/x86/kvm/cpuid.c                               |    8 +-
 arch/x86/kvm/mmu/tdp_mmu.c                         |    8 +-
 arch/x86/kvm/vmx/posted_intr.c                     |   37 +-
 arch/x86/kvm/x86.c                                 |    4 +
 drivers/firmware/smccc/kvm_guest.c                 |    4 +-
 include/linux/kvm_host.h                           |    2 +-
 tools/testing/selftests/kvm/Makefile.kvm           |   45 +-
 .../testing/selftests/kvm/arm64/page_fault_test.c  |    2 +-
 .../selftests/kvm/include/arm64/processor.h        |   67 +-
 tools/testing/selftests/kvm/lib/arm64/processor.c  |   60 +-
 tools/testing/selftests/kvm/lib/kvm_util.c         |    5 +-
 tools/testing/selftests/kvm/rseq_test.c            |   31 +-
 .../testing/selftests/kvm/x86/monitor_mwait_test.c |  108 +-
 virt/kvm/Kconfig                                   |    2 +-
 virt/kvm/eventfd.c                                 |   10 +-
 29 files changed, 964 insertions(+), 786 deletions(-)

Comments

pr-tracker-bot@kernel.org April 9, 2025, 12:24 a.m. UTC | #1
The pull request you sent on Tue,  8 Apr 2025 06:06:37 -0400:

> 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/0e8863244ef5b7d4391816062fcc07ff49aa7dcf

Thank you!