[GIT PULL] KVM: s390: Features and Fixes for 7.3

Christian Borntraeger <[email protected]>
Newsgroups org.kernel.vger.linux-s390,org.kernel.vger.kvm
Message-ID <[email protected]>
Paolo,

large chunk of s390 fixes and feature without patches as reply due to
the large number. Series is on top of v7.2-rc2 but I merged
kvms390/master to pick up additional fixes that came too late for 7.2.
Of course also other patches/fixes directly on top. This automatically
contains all the previous s390 fixes for 7.2, but this will reduce merge
conflict potentials, so I see it rather on the plus side.
I made the pull request statistics on top of rc7.

sashiko reviews for the patches
1. Fixes for vfio-ap
https://sashiko.dev/#/patchset/20260812200240.818004-1-akrowiak%40linux.ibm.com  without patch9
https://sashiko.dev/#/patchset/20260806173435.105044-1-akrowiak%40linux.ibm.com
2. Fixes from Claudio
https://sashiko.dev/#/patchset/20260812104436.109741-1-imbrenda%40linux.ibm.com without patches 4 and 9
3. vsie Fixes from Christoph
https://sashiko.dev/#/patchset/20260807-vsie-cleanup-202607-v1-0-b18659b55e3d%40linux.ibm.com
4. diag 9c tracing from Ciunas
https://sashiko.dev/#/patchset/20260724103959.14861-1-ciunas%40linux.ibm.com
5. enable CONTEXT_ANALYSIS for cio and virtio from Heiko
https://sashiko.dev/#/patchset/20260806153849.2622576-1-hca%40linux.ibm.com
6. move KVM code to prepare for additional arm64 support
https://sashiko.dev/#/patchset/20260812153631.3376090-1-seiden%40linux.ibm.com (patches12-21 only)
7. AI triggered fixes all over by me
https://sashiko.dev/#/patchset/20260811153738.206885-1-borntraeger%40linux.ibm.com
https://sashiko.dev/#/patchset/20260805110455.7200-1-borntraeger%40linux.ibm.com

-- 
2.53.0

The following changes since commit feadc5e84dcb53422a437556c35af9efd9826fd5:

  KVM: s390: Fix cleanup in kvm_s390_pv_create_cpu() (2026-08-03 17:09:46 +0200)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux.git  tags/kvm-s390-next-7.3-1

for you to fetch changes up to dd6f4ef6f8a37412909ad787c837332fb070159c:

  s390/vfio-ap: Fix NULL deref in status_show() during queue probe (2026-08-13 16:04:33 +0200)

----------------------------------------------------------------
KVM: s390: Features and Fixes for 7.3

- merged kvms390/master to pick up additional fixes that came too late
  for 7.2
- Fixes for vfio-ap
- Fixes for the gmap rework
- Fixes for vsie
- AI triggered fixes all over
- diag9c tracing
- code move preparation for the additional arm64 support
- enable CONTEXT_ANALYSIS
- update to vfio maintainer file location

----------------------------------------------------------------
Anthony Krowiak (9):
      s390/vfio-ap: fix stale pqap_hook pointer on error in vfio_ap_mdev_set_kvm()
      s390/vfio-ap: Fix stale do_remove flag across iterations in vfio_ap_mdev_cfg_remove
      s390/vfio-ap: Fix dereference matrix_mdev->kvm without checking for NULL
      s390/vfio-ap: Fix missing lock required to access list of ap_matrix_mdev objects
      s390/vfio-ap: Fix required lock not held during update of ap_matrix_mdev object
      s390/vfio-ap: Fix control domain removal in vfio_ap_mdev_cfg_remove
      s390/vfio-ap: fix potential use of uninitialized apm_filtered bitmap
      s390/vfio-ap: Fix hot-unplug skipped when last AP adapter or domain removed
      s390/vfio-ap: Fix NULL deref in status_show() during queue probe

Christian Borntraeger (15):
      KVM: s390: move some facilities from FACILITIES_KVM_CPUMODEL to FACILITIES_KVM
      KVM: s390: Remove user triggerable WARN_ON
      KVM: s390: Zero initialize data structures for inject_pfault_token
      KVM: s390: Zero initialize irq in reinject_machine_check
      KVM: s390: Fix memory leak in guest debug handling
      KVM: s390: Fix old_data leak in guest debug error path
      KVM: s390: Take srcu when importing watchpoint data
      KVM: s390: Free guest debug data on vcpu destroy
      KVM: s390: Fix length check __import_wp_info()
      KVM: s390: Fix memory corruption by not reinjecting CK machine checks
      KVM: s390: keyop: use mmu_lock to read gmap->asce
      KVM: s390: vsie: zero stale crypto bits
      KVM: s390: pv: Fix rc/rrc offset for PVM_DUMP
      KVM: s390: Restore sigset on error path
      Merge remote-tracking branch 'kvms390/master' into 'kvms390/next'

Christoph Schlameuss (6):
      KVM: s390: Remove double 64bscao feature check
      KVM: s390: vsie: Remove duplicate assertion
      KVM: s390: vsie: Convert shift to phys_to_pfn()
      KVM: s390: vsie: Assert mcck_info offset in vsie_page
      KVM: s390: vsie: Assert crycb alignment in vsie_page
      KVM: s390: vsie: Create constant SCB_ALIGNMENT_SHIFT

Ciunas Bennett (2):
      KVM: s390: Refactor __diag_time_slice_end_directed for single exit point
      KVM: s390: Add tracepoint for DIAG 9c directed yield operations

Claudio Imbrenda (7):
      KVM: s390: Properly handle NULL pointer in dat_cond_set_storage_key()
      KVM: s390: Use srcu in kvm_arch_vcpu_unlocked_ioctl()
      KVM: s390: Fix get_all_floating_irqs()
      KVM: s390: Fix pgste_get_trylock_multiple()
      KVM: s390: Fix IRQ injection with SIGP Stop and Store Status
      KVM: s390: Fix kvm_s390_clear_pv_state()
      KVM: s390: Fix potential tiny kernel stack leak

Heiko Carstens (4):
      MAINTAINERS: Update s390 specific vfio sections
      s390/vfio_ccw: Add __must_hold() attribute to vfio_ccw_sch_quiesce()
      s390/cio: Enable CONTEXT_ANALYSIS
      s390/virtio: Enable CONTEXT_ANALYSIS

Steffen Eiden (10):
      KVM: s390: Extract gmap tracing to a separate header
      KVM: s390: Prepare include guards for a new location
      KVM: s390: Rename kvm-s390.{c,h} to s390.{c,h}
      KVM: s390: Move kvm_host definitions to kvm_host_s390
      KVM: s390: Move s390 kvm code into a subdirectory
      KVM: s390: Move PGM code definitions to asm/kvm_host.h
      KVM: s390: Prepare gmap for a second KVM implementation
      KVM: s390: gmap: Make storage keys optional
      KVM: s390: gmap: Make CMMA optional
      KVM: s390: gmap: Make prefix handling optional

 MAINTAINERS                                 |   8 +-
 arch/s390/include/asm/kvm_host.h            | 723 +--------------------------
 arch/s390/include/asm/kvm_host_s390.h       | 729 ++++++++++++++++++++++++++++
 arch/s390/include/asm/kvm_host_s390_types.h | 349 +++++++++++++
 arch/s390/include/asm/kvm_host_types.h      | 347 +------------
 arch/s390/include/asm/nmi.h                 |   3 +
 arch/s390/kernel/nmi.c                      |   5 +-
 arch/s390/kvm/Makefile                      |  11 +-
 arch/s390/kvm/gmap/Makefile                 |   5 +
 arch/s390/kvm/{ => gmap}/dat.c              |  17 +-
 arch/s390/kvm/{ => gmap}/dat.h              |  21 +-
 arch/s390/kvm/{ => gmap}/faultin.c          |   3 +-
 arch/s390/kvm/{ => gmap}/faultin.h          |   6 +-
 arch/s390/kvm/{ => gmap}/gmap.c             |  19 +-
 arch/s390/kvm/{ => gmap}/gmap.h             |  25 +-
 arch/s390/kvm/gmap/kvm_mmu.c                | 133 +++++
 arch/s390/kvm/gmap/kvm_mmu.h                |  18 +
 arch/s390/kvm/gmap/trace_gmap.h             |  47 ++
 arch/s390/kvm/s390/Makefile                 |  14 +
 arch/s390/kvm/{ => s390}/diag.c             |  21 +-
 arch/s390/kvm/{ => s390}/gaccess.c          |   2 +-
 arch/s390/kvm/{ => s390}/gaccess.h          |   2 +-
 arch/s390/kvm/{ => s390}/guestdbg.c         |  11 +-
 arch/s390/kvm/{ => s390}/intercept.c        |   2 +-
 arch/s390/kvm/{ => s390}/interrupt.c        | 109 +++--
 arch/s390/kvm/{ => s390}/pci.c              |   2 +-
 arch/s390/kvm/{ => s390}/pci.h              |   0
 arch/s390/kvm/{ => s390}/priv.c             |   2 +-
 arch/s390/kvm/{ => s390}/pv.c               |   6 +-
 arch/s390/kvm/{kvm-s390.c => s390/s390.c}   | 159 ++----
 arch/s390/kvm/{kvm-s390.h => s390/s390.h}   |  10 +-
 arch/s390/kvm/{ => s390}/sigp.c             |   2 +-
 arch/s390/kvm/{ => s390}/trace-s390.h       |   0
 arch/s390/kvm/{ => s390}/trace.h            |  40 +-
 arch/s390/kvm/{ => s390}/vsie.c             |  22 +-
 arch/s390/tools/gen_facilities.c            |  14 +-
 drivers/s390/cio/Makefile                   |   2 +
 drivers/s390/cio/vfio_ccw_drv.c             |   1 +
 drivers/s390/cio/vfio_ccw_private.h         |   3 +-
 drivers/s390/crypto/vfio_ap_ops.c           | 203 +++++---
 drivers/s390/virtio/Makefile                |   2 +
 41 files changed, 1703 insertions(+), 1395 deletions(-)
 create mode 100644 arch/s390/include/asm/kvm_host_s390.h
 create mode 100644 arch/s390/include/asm/kvm_host_s390_types.h
 create mode 100644 arch/s390/kvm/gmap/Makefile
 rename arch/s390/kvm/{ => gmap}/dat.c (99%)
 rename arch/s390/kvm/{ => gmap}/dat.h (98%)
 rename arch/s390/kvm/{ => gmap}/faultin.c (98%)
 rename arch/s390/kvm/{ => gmap}/faultin.h (96%)
 rename arch/s390/kvm/{ => gmap}/gmap.c (99%)
 rename arch/s390/kvm/{ => gmap}/gmap.h (96%)
 create mode 100644 arch/s390/kvm/gmap/kvm_mmu.c
 create mode 100644 arch/s390/kvm/gmap/kvm_mmu.h
 create mode 100644 arch/s390/kvm/gmap/trace_gmap.h
 create mode 100644 arch/s390/kvm/s390/Makefile
 rename arch/s390/kvm/{ => s390}/diag.c (96%)
 rename arch/s390/kvm/{ => s390}/gaccess.c (99%)
 rename arch/s390/kvm/{ => s390}/gaccess.h (99%)
 rename arch/s390/kvm/{ => s390}/guestdbg.c (98%)
 rename arch/s390/kvm/{ => s390}/intercept.c (99%)
 rename arch/s390/kvm/{ => s390}/interrupt.c (98%)
 rename arch/s390/kvm/{ => s390}/pci.c (99%)
 rename arch/s390/kvm/{ => s390}/pci.h (100%)
 rename arch/s390/kvm/{ => s390}/priv.c (99%)
 rename arch/s390/kvm/{ => s390}/pv.c (99%)
 rename arch/s390/kvm/{kvm-s390.c => s390/s390.c} (97%)
 rename arch/s390/kvm/{kvm-s390.h => s390/s390.h} (98%)
 rename arch/s390/kvm/{ => s390}/sigp.c (99%)
 rename arch/s390/kvm/{ => s390}/trace-s390.h (100%)
 rename arch/s390/kvm/{ => s390}/trace.h (95%)
 rename arch/s390/kvm/{ => s390}/vsie.c (98%)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.