[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20250727102936.3091421A0e-agordeev@linux.ibm.com>
Date: Sun, 27 Jul 2025 12:29:36 +0200
From: Alexander Gordeev <agordeev@...ux.ibm.com>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Vasily Gorbik <gor@...ux.ibm.com>, Heiko Carstens <hca@...ux.ibm.com>,
linux-s390@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: [GIT PULL] s390 updates for 6.17 merge window
Hi Linus,
please pull s390 updates for the 6.17 merge window.
There are few merge conflicts with crc, bpf and libcrypto trees.
The crc tree got a conflict in:
lib/crc/s390/crc32.h
between commit:
65c9a9f92502 ("s390: Explicitly include <linux/export.h>")
from the s390 tree and commit:
2374bf238649 ("lib/crc: s390: Migrate optimized CRC code into lib/crc/")
from the crc tree.
Please, take the crc tree version:
https://lore.kernel.org/linux-next/20250618144750.092d01b8@canb.auug.org.au/
The bpf-next tree got a conflict in:
arch/s390/net/bpf_jit.h
between commit:
42398caf16c9 ("s390: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers")
from the s390 tree and commit:
e26d523edf2a ("s390/bpf: Describe the frame using a struct instead of constants")
from the bpf tree.
Please, delete the file:
https://lore.kernel.org/linux-next/20250704131135.1da6c34d@canb.auug.org.au/
The libcrypto tree got a conflict in:
arch/s390/lib/crypto/sha256.c
between commit:
65c9a9f92502 ("s390: Explicitly include <linux/export.h>")
from the s390 tree and commits:
e96cb9507f2d ("lib/crypto: sha256: Consolidate into single module")
b8456f7aaf35 ("lib/crypto: s390: Move arch/s390/lib/crypto/ into lib/crypto/")
from the libcrypto tree.
Please, delete the file:
https://lore.kernel.org/linux-next/20250704141635.57ff7b16@canb.auug.org.au/
Please note, along with arch/s390/lib/crypto/sha256.c above you may get
the below conflicts if the libcrypto tree is merged after the s390 tree.
The libcrypto tree conflict in:
arch/s390/crypto/sha1_s390.c
between commit:
68279380266a crypto: s390/sha - Fix uninitialized variable in SHA-1 and SHA-2
from the master tree and commit:
377982d5618a lib/crypto: s390/sha1: Migrate optimized code into library
from the libcrypto tree.
Please, delete the file:
https://lore.kernel.org/linux-next/20250715132051.4b4ce028@canb.auug.org.au/
The libcrypto tree conflict in:
arch/s390/crypto/sha512_s390.c
between commit:
68279380266a crypto: s390/sha - Fix uninitialized variable in SHA-1 and SHA-2
from the master tree and commits:
b7b366087e0f lib/crypto: s390/sha512: Migrate optimized SHA-512 code to library
e0fca177556c crypto: sha512 - Rename conflicting symbols
from the libcrypto tree.
Please, delete the file:
https://lore.kernel.org/linux-next/20250701123036.0d25bbfc@canb.auug.org.au/
Thanks,
Alexander
The following changes since commit e04c78d86a9699d136910cfc0bdcf01087e3267e:
Linux 6.16-rc2 (2025-06-15 13:49:41 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux.git tags/s390-6.17-1
for you to fetch changes up to 5647f61ad9171e8f025558ed6dc5702c56a33ba3:
s390/mm: Remove possible false-positive warning in pte_free_defer() (2025-07-23 18:06:32 +0200)
----------------------------------------------------------------
s390 updates for 6.17 merge window
- Standardize on the __ASSEMBLER__ macro that is provided by GCC
and Clang compilers and replace __ASSEMBLY__ with __ASSEMBLER__
in both uapi and non-uapi headers
- Explicitly include <linux/export.h> in architecture and driver
files which contain an EXPORT_SYMBOL() and remove the include
from the files which do not contain the EXPORT_SYMBOL()
- Use the full title of "z/Architecture Principles of Operation"
manual and the name of a section where facility bits are listed
- Use -D__DISABLE_EXPORTS for files in arch/s390/boot to avoid
unnecessary slowing down of the build and confusing external
kABI tools that process symtypes data
- Print additional unrecoverable machine check information to make
the root cause analysis easier
- Move cmpxchg_user_key() handling to uaccess library code, since
the generated code is large anyway and there is no benefit if it
is inlined
- Fix a problem when cmpxchg_user_key() is executing a code with a
non-default key: if a system is IPL-ed with "LOAD NORMAL", and
the previous system used storage keys where the fetch-protection
bit was set for some pages, and the cmpxchg_user_key() is located
within such page, a protection exception happens
- Either the external call or emergency signal order is used to send
an IPI to a remote CPU. Use the external order only, since it is at
least as good and sometimes even better, than the emergency signal
- In case of an early crash the early program check handler prints
more or less random value of the last breaking event address, since
it is not initialized properly. Copy the last breaking event address
from the lowcore to pt_regs to address this
- During STP synchronization check udelay() can not be used, since the
first CPU modifies tod_clock_base and get_tod_clock_monotonic() might
return a non-monotonic time. Instead, busy-loop on other CPUs, while
the the first CPU actually handles the synchronization operation
- When debugging the early kernel boot using QEMU with the -S flag and
GDB attached, skip the decompressor and start directly in kernel
- Rename PAI Crypto event 4210 according to z16 and z17 "z/Architecture
Principles of Operation" manual
- Remove the in-kernel time steering support in favour of the new s390
PTP driver, which allows the kernel clock steered more precisely
- Remove a possible false-positive warning in pte_free_defer(), which
could be triggered in a valid case KVM guest process is initializing
----------------------------------------------------------------
Alexander Gordeev (1):
Merge branch 'uaccess-key' into features
Gerald Schaefer (1):
s390/mm: Remove possible false-positive warning in pte_free_defer()
Heiko Carstens (14):
s390: Explicitly include <linux/export.h>
s390: Remove unnecessary include <linux/export.h>
s390/drivers: Explicitly include <linux/export.h>
s390/drivers: Remove unnecessary include <linux/export.h>
s390/nmi: Print additional information
s390/page: Cleanup page_set_storage_key() inline assemblies
s390/page: Add memory clobber to page_set_storage_key()
s390/uaccess: Make cmpxchg_user_key() library code
s390/skey: Provide infrastructure for executing with non-default access key
s390/uaccess: Initialize code pages executed with non-default access key
s390/uaccess: Prevent kprobes on cmpxchg_user_key() functions
s390/uaccess: Merge cmpxchg_user_key() inline assemblies
s390/smp: Remove conditional emergency signal order code usage
s390/early: Copy last breaking event address to pt_regs
Ilya Leoshkevich (2):
s390/boot: Introduce jump_to_kernel() function
scripts/gdb/symbols: make lx-symbols skip the s390 decompressor
Petr Pavlu (1):
s390/boot: Use -D__DISABLE_EXPORTS
Sven Schnelle (7):
s390/stp: Remove udelay from stp_sync_clock()
s390/time: Use monotonic clock in get_cycles()
s390/smp: Use monotonic clock in smp_emergency_stop()
s390/sclp: Use monotonic clock in sclp_sync_wait()
s390/time: Remove in-kernel time steering
s390/stp: Remove leap second support
s390/stp: Default to enabled
Thomas Huth (2):
s390: Replace __ASSEMBLY__ with __ASSEMBLER__ in uapi headers
s390: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers
Thomas Richter (1):
s390/pai_crypto: Rename PAI Crypto event 4210
Xose Vazquez Perez (1):
s390/boot: Use the full title of the manual for facility bits
arch/s390/appldata/appldata_base.c | 1 +
arch/s390/boot/Makefile | 6 +-
arch/s390/boot/als.c | 2 +-
arch/s390/boot/boot.h | 5 +-
arch/s390/boot/ipl_data.c | 9 +-
arch/s390/boot/startup.c | 2 +-
arch/s390/boot/trampoline.S | 9 ++
arch/s390/crypto/arch_random.c | 1 +
arch/s390/crypto/sha_common.c | 1 +
arch/s390/include/asm/alternative.h | 6 +-
arch/s390/include/asm/asm-const.h | 2 +-
arch/s390/include/asm/cpu.h | 4 +-
arch/s390/include/asm/cpu_mf-insn.h | 4 +-
arch/s390/include/asm/ctlreg.h | 4 +-
arch/s390/include/asm/dwarf.h | 4 +-
arch/s390/include/asm/extmem.h | 2 +-
arch/s390/include/asm/fpu-insn-asm.h | 4 +-
arch/s390/include/asm/fpu-insn.h | 4 +-
arch/s390/include/asm/ftrace.h | 4 +-
arch/s390/include/asm/irq.h | 4 +-
arch/s390/include/asm/jump_label.h | 4 +-
arch/s390/include/asm/lowcore.h | 6 +-
arch/s390/include/asm/machine.h | 4 +-
arch/s390/include/asm/mem_encrypt.h | 4 +-
arch/s390/include/asm/nmi.h | 4 +-
arch/s390/include/asm/nospec-branch.h | 4 +-
arch/s390/include/asm/nospec-insn.h | 5 +-
arch/s390/include/asm/page.h | 22 ++--
arch/s390/include/asm/processor.h | 4 +-
arch/s390/include/asm/ptrace.h | 4 +-
arch/s390/include/asm/purgatory.h | 4 +-
arch/s390/include/asm/sclp.h | 4 +-
arch/s390/include/asm/setup.h | 6 +-
arch/s390/include/asm/sigp.h | 4 +-
arch/s390/include/asm/skey.h | 32 +++++
arch/s390/include/asm/thread_info.h | 2 +-
arch/s390/include/asm/timex.h | 13 +-
arch/s390/include/asm/tpi.h | 4 +-
arch/s390/include/asm/types.h | 4 +-
arch/s390/include/asm/uaccess.h | 202 ++++--------------------------
arch/s390/include/asm/vdso.h | 4 +-
arch/s390/include/asm/vdso/getrandom.h | 4 +-
arch/s390/include/asm/vdso/gettimeofday.h | 8 +-
arch/s390/include/asm/vdso/time_data.h | 3 +-
arch/s390/include/asm/vdso/vsyscall.h | 4 +-
arch/s390/include/uapi/asm/ptrace.h | 5 +-
arch/s390/include/uapi/asm/schid.h | 4 +-
arch/s390/include/uapi/asm/types.h | 4 +-
arch/s390/kernel/Makefile | 2 +-
arch/s390/kernel/cpufeature.c | 1 +
arch/s390/kernel/crash_dump.c | 1 +
arch/s390/kernel/ctlreg.c | 1 +
arch/s390/kernel/dis.c | 1 -
arch/s390/kernel/early.c | 4 +
arch/s390/kernel/facility.c | 1 +
arch/s390/kernel/fpu.c | 2 +
arch/s390/kernel/nmi.c | 76 ++++++++++-
arch/s390/kernel/perf_cpum_cf.c | 1 -
arch/s390/kernel/perf_cpum_sf.c | 1 -
arch/s390/kernel/perf_event.c | 1 -
arch/s390/kernel/perf_pai_crypto.c | 3 +-
arch/s390/kernel/perf_pai_ext.c | 1 -
arch/s390/kernel/process.c | 1 -
arch/s390/kernel/skey.c | 48 +++++++
arch/s390/kernel/smp.c | 11 +-
arch/s390/kernel/sthyi.c | 2 +
arch/s390/kernel/time.c | 121 +-----------------
arch/s390/kernel/unwind_bc.c | 2 +
arch/s390/kernel/uv.c | 1 +
arch/s390/kernel/vmlinux.lds.S | 7 ++
arch/s390/kvm/interrupt.c | 1 +
arch/s390/kvm/kvm-s390.c | 1 +
arch/s390/kvm/pv.c | 2 +
arch/s390/lib/crc32.c | 1 +
arch/s390/lib/crypto/chacha-glue.c | 1 +
arch/s390/lib/crypto/sha256.c | 1 +
arch/s390/lib/delay.c | 1 +
arch/s390/lib/uaccess.c | 188 +++++++++++++++++++++++++++
arch/s390/mm/gmap.c | 1 +
arch/s390/mm/gmap_helpers.c | 2 +
arch/s390/mm/pgalloc.c | 5 -
arch/s390/mm/pgtable.c | 1 +
arch/s390/net/bpf_jit.h | 4 +-
arch/s390/net/pnet.c | 1 +
arch/s390/pci/pci_bus.c | 1 -
arch/s390/pci/pci_kvm_hook.c | 2 +
drivers/s390/block/dasd.c | 1 +
drivers/s390/block/dasd_devmap.c | 1 +
drivers/s390/block/dasd_eer.c | 1 +
drivers/s390/block/dasd_erp.c | 1 +
drivers/s390/block/dasd_ioctl.c | 1 +
drivers/s390/char/keyboard.c | 1 +
drivers/s390/char/raw3270.c | 1 +
drivers/s390/char/sclp.c | 5 +-
drivers/s390/char/sclp_cmd.c | 1 -
drivers/s390/char/sclp_early.c | 1 +
drivers/s390/char/sclp_ocf.c | 1 +
drivers/s390/char/sclp_sd.c | 1 -
drivers/s390/char/tape_34xx.c | 1 +
drivers/s390/char/tape_3590.c | 1 +
drivers/s390/char/tape_class.c | 1 +
drivers/s390/char/tape_core.c | 1 +
drivers/s390/char/tape_std.c | 1 +
drivers/s390/char/vmcp.c | 1 -
drivers/s390/cio/airq.c | 1 +
drivers/s390/cio/ccwgroup.c | 2 +
drivers/s390/cio/chsc.c | 1 +
drivers/s390/cio/cio.c | 1 +
drivers/s390/cio/device_fsm.c | 1 +
drivers/s390/cio/eadm_sch.c | 1 +
drivers/s390/cio/fcx.c | 1 +
drivers/s390/cio/isc.c | 1 +
drivers/s390/cio/itcw.c | 1 +
drivers/s390/cio/qdio_debug.c | 1 -
drivers/s390/cio/qdio_main.c | 2 +
drivers/s390/cio/scm.c | 1 +
drivers/s390/crypto/ap_bus.c | 1 +
drivers/s390/crypto/ap_queue.c | 1 +
drivers/s390/crypto/pkey_api.c | 1 +
drivers/s390/crypto/pkey_base.c | 1 +
drivers/s390/crypto/zcrypt_api.c | 1 +
drivers/s390/crypto/zcrypt_card.c | 1 +
drivers/s390/crypto/zcrypt_ccamisc.c | 1 +
drivers/s390/crypto/zcrypt_ep11misc.c | 1 +
drivers/s390/crypto/zcrypt_queue.c | 1 +
drivers/s390/net/ctcm_mpc.c | 1 +
drivers/s390/net/fsm.c | 1 +
drivers/s390/net/ism_drv.c | 1 +
drivers/s390/net/qeth_core_main.c | 1 +
drivers/s390/net/qeth_l2_main.c | 1 +
drivers/s390/net/qeth_l3_main.c | 1 +
drivers/s390/net/smsgiucv.c | 1 +
lib/raid6/recov_s390xc.c | 1 -
net/iucv/iucv.c | 1 +
scripts/gdb/linux/symbols.py | 26 ++++
135 files changed, 603 insertions(+), 429 deletions(-)
create mode 100644 arch/s390/boot/trampoline.S
create mode 100644 arch/s390/include/asm/skey.h
create mode 100644 arch/s390/kernel/skey.c
Powered by blists - more mailing lists