[GIT PULL] s390 patches for the 7.3 merge window
Vasily Gorbik <[email protected]>
| Newsgroups | org.kernel.vger.linux-s390,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
Hello 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