[GIT PULL] s390 updates for 6.16 merge window

Heiko Carstens
2025-05-23T18:34:20Z

Hi Linus,

please pull s390 updates for the 6.16 merge window.

Thanks,
Heiko

The following changes since commit 8ffd015db85fea3e15a77027fda6c02ced4d2444:

Linux 6.15-rc2 (2025-04-13 11:54:49 -0700)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux.git tags/s390-6.16-1

for you to fetch changes up to 774a1fa880bc949d88b5ddec9494a13be733dfa8:

s390/pci: Serialize device addition and removal (2025-05-22 16:12:53 +0200)

----------------------------------------------------------------
s390 updates for 6.16 merge window

- Large rework of the protected key crypto code to allow for asynchronous
handling without memory allocation

- Speed up system call entry/exit path by re-implementing lazy ASCE
handling

- Add module autoload support for the diag288_wdt watchdog device driver

- Get rid of s390 specific strcpy() and strncpy() implementations, and
switch all remaining users to strscpy() when possible

- Various other small fixes and improvements

----------------------------------------------------------------
Gerald Schaefer (1):
s390/extmem: Add workaround for DCSS unload diag

Harald Freudenberger (28):
s390/ap: Move response_type struct into ap_msg struct
s390/ap/zcrypt: Rework AP message buffer allocation
s390/ap: Introduce ap message buffer pool
s390/zcrypt: Avoid alloc and copy of ep11 targets if kernelspace cprb
s390/ap/zcrypt: New xflag parameter
s390/zcrypt: Introduce cprb mempool for cca misc functions
s390/zcrypt: Introduce cprb mempool for ep11 misc functions
s390/zcrypt: Rework zcrypt function zcrypt_device_status_mask_ext
s390/zcrypt: Introduce pre-allocated device status array for cca misc
s390/zcrypt: Introduce pre-allocated device status array for ep11 misc
s390/zcrypt: Remove unused functions from cca misc
s390/zcrypt: Remove CCA and EP11 card and domain info caches
s390/zcrypt: Rework cca findcard() implementation and callers
s390/zcrypt: Rework ep11 findcard() implementation and callers
s390/zcrypt: Rework cca misc functions kmallocs to use the cprb mempool
s390/zcrypt: Propagate xflags argument with cca_get_info()
s390/zcrypt: Locate ep11_domain_query_info onto the stack instead of kmalloc
s390/zcrypt: Rework ep11 misc functions to use cprb mempool
s390/pkey: Rework CCA pkey handler to use stack for small memory allocs
s390/pkey: Rework EP11 pkey handler to use stack for small memory allocs
s390/uv: Rename find_secret() to uv_find_secret() and publish
s390/pkey: Use preallocated memory for retrieve of UV secret metadata
s390/uv: Remove uv_get_secret_metadata function
s390/pkey: Provide and pass xflags within pkey and zcrypt layers
s390/pkey/crypto: Introduce xflags param for pkey in-kernel API
s390/cpacf: Rework cpacf_pcc() to return condition code
s390/crypto: Rework protected key AES for true asynch support
s390/crypto: Extend protected key conversion retry loop

Heiko Carstens (17):
s390/mm: Reimplement lazy ASCE handling
s390/mm: Select ARCH_WANT_IRQS_OFF_ACTIVATE_MM
watchdog: diag288_wdt: Implement module autoload
s390/string: Remove optimized strncpy()
s390/ipl: Rename and change strncpy_skip_quote()
s390: Remove optional third argument of strscpy() if possible
Merge branch 'zcrypt-no-alloc'
s390: Simple strcpy() to strscpy() conversions
s390/boot: Use strspcy() instead of strcpy()
s390/con3270: Use strscpy() instead of strcpy()
s390/string: Remove strcpy() implementation
s390/mm: Add mmap_assert_write_locked() check to crst_table_upgrade()
s390/mm: Fix potential use-after-free in __crst_table_upgrade()
Merge branch 'prot-key-async'
s390/thread_info: Cleanup header includes
s390/ptrace: Always inline regs_get_kernel_stack_nth() and regs_get_register()
s390/pci: Fix __pcilg_mio_inuser() inline assembly

Niklas Schnelle (4):
s390/pci: Remove redundant bus removal and disable from zpci_release_device()
s390/pci: Prevent self deletion in disable_slot()
s390/pci: Allow re-add of a reserved but not yet removed device
s390/pci: Serialize device addition and removal

Thomas Richter (1):
s390/cpumf: Adjust number of leading zeroes for z15 attributes

Vasily Gorbik (2):
s390/boot: Add sized_strscpy() to enable strscpy() usage
s390/boot: Replace strncpy() with strscpy()

arch/s390/Kconfig | 1 +
arch/s390/boot/ipl_parm.c | 7 +-
arch/s390/boot/printk.c | 7 +-
arch/s390/boot/startup.c | 17 +
arch/s390/boot/string.c | 12 +
arch/s390/crypto/paes_s390.c | 1867 ++++++++++++++++++++++----------
arch/s390/include/asm/asce.h | 36 +
arch/s390/include/asm/cpacf.h | 18 +-
arch/s390/include/asm/cpufeature.h | 1 +
arch/s390/include/asm/diag288.h | 41 +
arch/s390/include/asm/futex.h | 6 +
arch/s390/include/asm/machine.h | 1 +
arch/s390/include/asm/mmu_context.h | 17 +-
arch/s390/include/asm/pkey.h | 15 +-
arch/s390/include/asm/ptrace.h | 47 +-
arch/s390/include/asm/string.h | 20 -
arch/s390/include/asm/thread_info.h | 5 +-
arch/s390/include/asm/uaccess.h | 12 +
arch/s390/include/asm/uv.h | 5 +-
arch/s390/kernel/asm-offsets.c | 1 -
arch/s390/kernel/cert_store.c | 2 +-
arch/s390/kernel/cpufeature.c | 5 +
arch/s390/kernel/crash_dump.c | 2 +-
arch/s390/kernel/debug.c | 2 +-
arch/s390/kernel/entry.S | 20 +-
arch/s390/kernel/ipl.c | 27 +-
arch/s390/kernel/perf_cpum_cf_events.c | 4 +-
arch/s390/kernel/processor.c | 16 +-
arch/s390/kernel/ptrace.c | 33 -
arch/s390/kernel/smp.c | 2 +-
arch/s390/kernel/uv.c | 47 +-
arch/s390/lib/string.c | 47 -
arch/s390/lib/uaccess.c | 5 +-
arch/s390/mm/extmem.c | 18 +-
arch/s390/mm/pgalloc.c | 17 +-
arch/s390/pci/pci.c | 45 +-
arch/s390/pci/pci_bus.h | 7 +-
arch/s390/pci/pci_event.c | 22 +-
arch/s390/pci/pci_mmio.c | 12 +-
drivers/pci/hotplug/s390_pci_hpc.c | 2 +-
drivers/s390/block/dcssblk.c | 4 +-
drivers/s390/char/con3270.c | 17 +-
drivers/s390/char/diag_ftp.c | 2 +-
drivers/s390/crypto/ap_bus.c | 74 ++
drivers/s390/crypto/ap_bus.h | 30 +-
drivers/s390/crypto/pkey_api.c | 50 +-
drivers/s390/crypto/pkey_base.c | 34 +-
drivers/s390/crypto/pkey_base.h | 37 +-
drivers/s390/crypto/pkey_cca.c | 136 ++-
drivers/s390/crypto/pkey_ep11.c | 117 +-
drivers/s390/crypto/pkey_pckmo.c | 9 +-
drivers/s390/crypto/pkey_sysfs.c | 4 +-
drivers/s390/crypto/pkey_uv.c | 44 +-
drivers/s390/crypto/zcrypt_api.c | 167 +--
drivers/s390/crypto/zcrypt_api.h | 16 +-
drivers/s390/crypto/zcrypt_ccamisc.c | 486 +++------
drivers/s390/crypto/zcrypt_ccamisc.h | 49 +-
drivers/s390/crypto/zcrypt_cex4.c | 41 +-
drivers/s390/crypto/zcrypt_ep11misc.c | 454 ++++----
drivers/s390/crypto/zcrypt_ep11misc.h | 27 +-
drivers/s390/crypto/zcrypt_msgtype50.c | 36 +-
drivers/s390/crypto/zcrypt_msgtype6.c | 109 +-
drivers/s390/net/ctcm_mpc.c | 2 +-
drivers/watchdog/diag288_wdt.c | 53 +-
64 files changed, 2612 insertions(+), 1857 deletions(-)
create mode 100644 arch/s390/include/asm/asce.h
create mode 100644 arch/s390/include/asm/diag288.h