s390 patches for the 7.3 merge window
Vasily Gorbik
maintainerHello Linus,
Please pull s390 changes for 7.3.
The s390 cpuidle driver series adds a new driver under drivers/cpuidle/ and the corresponding MAINTAINERS entry. The driver was reviewed by Christian Loehle, and the whole series was acked by cpuidle maintainer Rafael J. Wysocki:
https://lore.kernel.org/all/[email protected]/
The series also removes now unused generic arch_needs_cpu() hook:
include/linux/tick.h | 3 - kernel/time/tick-sched.c | 7 +-
which was reviewed by Thomas Gleixner:
https://lore.kernel.org/all/87v7br3fs7.ffs@fw13/
Thank you,
Vasily
The following changes since commit 8cdeaa50eae8dad34885515f62559ee83e7e8dda:
Linux 7.2-rc2 (2026-07-05 14:44:06 -1000)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux.git tags/s390-7.3-1
for you to fetch changes up to 101782f8945a125044347312d74d488c05741c4a:
s390/percpu: Fix MVIY_PERCPU() with older binutils (2026-08-13 16:56:45 +0200)
----------------------------------------------------------------
s390 updates for 7.3 merge window
- Add a cpuidle driver with polling and enabled wait states using the existing CPU idle infrastructure and idle governor to improve latency for frequent sleep/wakeup cycles. Remove the obsolete tick delay heuristic and generic arch_needs_cpu() hook. Add the corresponding driver entry to MAINTAINERS
- Add kCFI support using the generic support provided by Clang
- Enable Clang CONTEXT_ANALYSIS for various architecture code and for char, PCI, CIO and virtio drivers. Add required lock annotations, exclude unsupported mm helpers and remove conditional PCI locking
- Fix secure storage access exception handling and reintroduce DCACHE_WORD_ACCESS previously removed as a workaround
- Fix cpum_cf perf crashes when CPUs are brought online while per-task events are active. Allocate and remove per-CPU counter data from CPU hotplug callbacks
- Fix a deadlock when an s390dbf debug area is unregistered while one of its debugfs files is being written to
- Fix MVIY_PERCPU() with binutils older than 2.39, where an assembler macro silently omitted an instruction needed to repair interrupted operations after CPU migration
- Remove/replace cond_resched() calls which are no-ops with the supported s390 preemption models
- Fix AP queue depth and maximum message length decoding according to the architecture. Current hardware is not affected, but future hardware could report values which were handled incorrectly
- Reflect the configured CPU state in cpu_enabled_mask so deconfigured CPUs are not presented as available for onlining
- Restore the vDSO GNU_EH_FRAME program header which was lost when the build switched to direct linker invocation, and mark it read-only
- Add SCLP action qualifiers used by Spyre for card initialization, recoverable error and telemetry reporting
- Move KMSAN interrupt flag helpers out of line to fix -Wstatic-in-inline build warnings
- Use level-specific page table entry accessors for hugetlb entries and ptep_get() when accessing crashed kernel memory in kdump
- Make forced AP bus rescans killable so that a user process blocked behind an ongoing scan can still be terminated with SIGKILL
- Rework pkey ioctl error paths to remove duplicated cleanup code and avoid freeing error pointers
- Allow the protected guest SWIOTLB buffer to be allocated outside the first 2GB. Also enable dynamic SWIOTLB growth and the coherent atomic pool fallback to improve I/O behavior when the initial pool is exhausted
- Add program check statistics and spinlock contention tracepoints. Increase the lockdep chain capacity to keep lockdep enabled for complex code paths such as btrfs
- Simplify IPL, trap and syscall code and remove the obsolete unistd_32.h generation entry
----------------------------------------------------------------
Alexander Gordeev (1):
s390/maccess: Use proper PTE accessors for copying old memory
Christian Borntraeger (1):
s390/configs: Increase CONFIG_LOCKDEP_CHAINS_BITS
Ciunas Bennett (1):
s390/spinlock: Add contention tracepoints to lock slowpath
Finn Callies (2):
s390/ap: Fix queue depth field length
s390/ap: Fix MAPML computation
Gerald Schaefer (1):
s390/mm: Use set_pmd() / set_pud() for hugetlb pagetable entries
Harald Freudenberger (2):
s390/ap: Use mutex_lock_killable() in ap_bus_force_rescan() s390/pkey: Rework ioctl functions error paths
Heiko Carstens (29):
KVM: s390: pv: Use VM_SPARSE area for guest variable storage area s390/mm: Add missing mm check to do_secure_storage_access() s390/mm: Use lock_mm_and_find_vma() in do_secure_storage_access() s390/mm: Fix handling of vmalloc area in do_secure_storage_access() s390/mm: Remove folio handling for kernel faults in do_secure_storage_access() s390/mm: Use handle_fault_error() in do_secure_storage_access() s390/mm: Use goto statement in do_secure_storage_access()
s390: Add support for DCACHE_WORD_ACCESS (again)
s390/tools: Pass symbol name to do_relocs()
s390/tools/relocs: Ignore __kcfi_typeid_ relocations
s390: Add ftrace_stub_graph
s390/diag: Generate CFI type information for assembly functions s390/bpf: Add kCFI support
s390/Kconfig: Select ARCH_SUPPORTS_CFI
KVM: s390: Remove cond_resched() calls
s390: Remove cond_resched() calls
s390/cio: Remove cond_resched() calls
s390/con3215: Add __must_hold() attribute to raw3215_make_room() s390/char: Enable CONTEXT_ANALYSIS
s390/pci: Rework __zpci_event_error() to remove conditional locking s390/pci: Rework __zpci_event_availability() to remove conditional locking s390/pci: Enable CONTEXT_ANALYSIS
s390/vfio_ccw: Add __must_hold() attribute to vfio_ccw_sch_quiesce() s390/cio: Enable CONTEXT_ANALYSIS
s390/virtio: Enable CONTEXT_ANALYSIS
s390/sysinfo: Add context analysis attributes
s390/mm: Add __context_unsafe() attribute to do_secure_storage_access() s390/mm: Add __context_unsafe() attribute to gmap helper functions
s390: Enable CONTEXT_ANALYSIS for various directories
Ilya Leoshkevich (1):
s390/irqflags: Add out-of-line definitions of arch_local_irq_*() for KMSAN
Jaehoon Kim (2):
s390/pv: Enable SWIOTLB_ANY for s390 PV
s390: Select SWIOTLB_DYNAMIC and DMA_COHERENT_POOL
Jens Remus (2):
s390/vdso: Pass --eh-frame-hdr to the linker s390/vdso: Use symbolic constants for the PHDR permission flags
Karl Mehltretter (1):
s390/percpu: Fix MVIY_PERCPU() with older binutils
Mete Durlu (8):
s390/tick: Remove CIF_NOHZ_DELAY flag
tick: Remove arch_needs_cpu
s390: Enable TIF_POLLING_NRFLAG
s390/idle: Introduce cpuidle for s390 s390/configs: Enable cpuidle driver on s390 s390/ipl: Use ARRAY_SIZE macro
s390/ipl: Improve readability
s390/smp: Reflect (de)configured CPUs to cpu_enabled_mask
Niklas Schnelle (1):
s390/sclp: Allow SCLP Action Qualifiers for Spyre card status reporting
Peter Oberparleiter (1):
s390/debug: Fix deadlock during unregister
Peter Zijlstra (1):
s390/crypto: Replace cond_resched() with msleep(1)
Sven Schnelle (3):
s390/traps: Add exception statistics
s390/traps: Remove PIF_GUEST_FAULT
s390/syscalls: Use define instead of '1' to indicate PER trap
Thomas Huth (1):
s390/uapi: Remove obsolete unistd_32.h from Kbuild file
Thomas Richter (1):
s390/cpum_cf: Handle CPU hotplug via prepare/dead callbacks
MAINTAINERS | 8 + arch/s390/Kconfig | 10 ++ arch/s390/appldata/Makefile | 2 + arch/s390/configs/debug_defconfig | 4 +- arch/s390/configs/defconfig | 2 + arch/s390/crypto/paes_s390.c | 44 +---- arch/s390/crypto/phmac_s390.c | 25 +-- arch/s390/hypfs/Makefile | 2 + arch/s390/include/asm/ap.h | 4 +- arch/s390/include/asm/asm-extable.h | 4 + arch/s390/include/asm/cfi.h | 7 + arch/s390/include/asm/hugetlb.h | 4 +- arch/s390/include/asm/irqflags.h | 20 ++- arch/s390/include/asm/percpu.h | 4 +- arch/s390/include/asm/pkey.h | 16 ++ arch/s390/include/asm/processor.h | 4 - arch/s390/include/asm/ptrace.h | 4 +- arch/s390/include/asm/sclp.h | 3 + arch/s390/include/asm/thread_info.h | 1 + arch/s390/include/asm/uv.h | 18 +- arch/s390/include/asm/word-at-a-time.h | 22 +++ arch/s390/include/uapi/asm/Kbuild | 1 - arch/s390/kernel/Makefile | 3 + arch/s390/kernel/debug.c | 10 +- arch/s390/kernel/entry.S | 9 +- arch/s390/kernel/entry.h | 10 +- arch/s390/kernel/idle.c | 1 - arch/s390/kernel/ipl.c | 58 ++++--- arch/s390/kernel/irq.c | 4 - arch/s390/kernel/irqflags.c | 28 ++++ arch/s390/kernel/mcount.S | 9 +- arch/s390/kernel/perf_cpum_cf.c | 222 ++++++++++++++++--------- arch/s390/kernel/smp.c | 6 +- arch/s390/kernel/syscall.c | 4 +- arch/s390/kernel/sysinfo.c | 2 + arch/s390/kernel/text_amode31.S | 13 +- arch/s390/kernel/traps.c | 45 ++++- arch/s390/kernel/uv.c | 67 +++++++- arch/s390/kernel/vdso/Makefile | 3 +- arch/s390/kernel/vdso/vdso.lds.S | 11 +- arch/s390/kvm/gaccess.c | 8 +- arch/s390/kvm/gmap.c | 4 - arch/s390/kvm/kvm-s390.c | 1 - arch/s390/kvm/pv.c | 17 +- arch/s390/kvm/vsie.c | 1 - arch/s390/lib/Makefile | 2 + arch/s390/lib/spinlock.c | 3 + arch/s390/mm/Makefile | 2 + arch/s390/mm/cmm.c | 2 - arch/s390/mm/extable.c | 18 ++ arch/s390/mm/fault.c | 36 ++-- arch/s390/mm/gmap_helpers.c | 4 +- arch/s390/mm/hugetlbpage.c | 10 +- arch/s390/mm/init.c | 2 +- arch/s390/mm/maccess.c | 2 +- arch/s390/mm/pageattr.c | 5 - arch/s390/mm/pgalloc.c | 1 - arch/s390/net/Makefile | 3 + arch/s390/net/bpf_jit_comp.c | 28 +++- arch/s390/pci/Makefile | 2 + arch/s390/pci/pci.c | 4 +- arch/s390/pci/pci_event.c | 205 ++++++++++++----------- arch/s390/purgatory/Makefile | 2 + arch/s390/tools/relocs.c | 158 +++++++++++++++++- drivers/cpuidle/Kconfig | 5 + drivers/cpuidle/Kconfig.s390 | 11 ++ drivers/cpuidle/Makefile | 4 + drivers/cpuidle/cpuidle-s390.c | 115 +++++++++++++ drivers/s390/char/Makefile | 2 + drivers/s390/char/con3215.c | 1 + drivers/s390/char/sclp_pci.c | 3 + drivers/s390/char/uvdevice.c | 6 +- drivers/s390/cio/Makefile | 2 + drivers/s390/cio/css.c | 8 - drivers/s390/cio/vfio_ccw_drv.c | 1 + drivers/s390/cio/vfio_ccw_private.h | 3 +- drivers/s390/crypto/ap_bus.c | 4 +- drivers/s390/crypto/ap_bus.h | 2 +- drivers/s390/crypto/ap_card.c | 2 +- drivers/s390/crypto/pkey_api.c | 290 ++++++++++++++++++--------------- drivers/s390/virtio/Makefile | 2 + include/linux/tick.h | 3 - kernel/time/tick-sched.c | 7 +- 83 files changed, 1159 insertions(+), 546 deletions(-) create mode 100644 arch/s390/include/asm/cfi.h create mode 100644 arch/s390/kernel/irqflags.c create mode 100644 drivers/cpuidle/Kconfig.s390 create mode 100644 drivers/cpuidle/cpuidle-s390.c
The pull request you sent on Sun, 23 Aug 2026 19:04:52 +0200:
The pull request you sent on Sun, 23 Aug 2026 19:04:52 +0200:
Quoted 1 line
git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux.gittags/s390-7.3-1
has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/66ec24c5d7a047f5b06ee1deb1d0a2869b1791bd
Thank you!
Signature · 2 lines
Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html