[GIT PULL] s390 patches for the 5.14 merge window #2
From: Vasily Gorbik
Date: Sat Jul 10 2021 - 10:05:48 EST
Hello Linus,
please pull the second round of s390 fixes and features for 5.14.
Thank you,
Vasily
The following changes since commit 2bb919b62f6e5959552a90a399d09d683afa3d1d:
Merge tag 's390-5.14-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux (2021-07-04 12:17:38 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux.git tags/s390-5.14-2
for you to fetch changes up to 6a942f5780545ebd11aca8b3ac4b163397962322:
s390: preempt: Fix preempt_count initialization (2021-07-08 22:12:18 +0200)
----------------------------------------------------------------
s390 updates for the 5.14 merge window #2
- Fix preempt_count initialization.
- Rework call_on_stack() macro to add proper type handling and avoid
possible register corruption.
- More error prone "register asm" removal and fixes.
- Fix syscall restarting when multiple signals are coming in. This adds
minimalistic trampolines to vdso so we can return from signal without
using the stack which requires pgm check handler hacks when NX is
enabled.
- Remove HAVE_IRQ_EXIT_ON_IRQ_STACK since this is no longer true after
switch to generic entry.
- Fix protected virtualization secure storage access exception handling.
- Make machine check C handler always enter with DAT enabled and move
register validation to C code.
- Fix tinyconfig boot problem by avoiding MONITOR CALL without CONFIG_BUG.
- Increase asm symbols alignment to 16 to make it consistent with
compilers.
- Enable concurrent access to the CPU Measurement Counter Facility.
- Add support for dynamic AP bus size limit and rework ap_dqap to deal
with messages greater than recv buffer.
----------------------------------------------------------------
Alexander Egorenkov (1):
s390/boot: replace magic string check with a bootdata flag
Alexander Gordeev (6):
s390/entry.S: factor out SIEEXIT macro
s390/mcck: optimize user mode check in case of !CONFIG_KVM
s390/mcck: always enter C handler with DAT enabled
s390/mcck: move storage error checks to assembler
s390/mcck: keep machine check interruption codes sorted
s390/mcck: move register validation to C code
Harald Freudenberger (3):
s390/AP: support new dynamic AP bus size limit
s390/ap: Rework ap_dqap to deal with messages greater than recv buffer
s390/ap: get rid of register asm in ap_dqap()
Heiko Carstens (16):
s390/lib,uaccess: fix copy_in_user_mvcos() inline asm clobber list
s390/lib,string: fix strcat() inline asm constraint modifier
s390/ap: get rid of register asm
s390/irq: simplify do_softirq_own_stack()
s390/irq: inline do_softirq_own_stack()
s390/irq: simplify on_async_stack()
s390: introduce proper type handling call_on_stack() macro
s390/mm: use call_on_stack() macro
s390/irq: use call_on_stack() macro
s390/kexec: use call_on_stack() macro
s390/smp: use call_on_stack() macro
s390/lib: use call_on_stack() macro
s390/softirq: use call_on_stack() macro
s390: remove old CALL_ON_STACK() macro
s390: add type checking to CALL_ON_STACK_NORETURN() macro
s390: rename CALL_ON_STACK_NORETURN() to call_on_stack_noreturn()
Ilya Leoshkevich (1):
s390/traps: do not test MONITOR CALL without CONFIG_BUG
Janosch Frank (1):
s390: mm: Fix secure storage access exception handling
Kefeng Wang (1):
s390/kprobes: use is_kernel() helper
Sven Schnelle (9):
s390/irq: remove HAVE_IRQ_EXIT_ON_IRQ_STACK
s390/vdso: always enable vdso
s390/vdso64: add sigreturn,rt_sigreturn and restart_syscall
s390/vdso: rename VDSO64_LBASE to VDSO_LBASE
s390/vdso: add minimal compat vdso
s390/signal: switch to using vdso for sigreturn and syscall restart
s390/signal: remove sigreturn on stack
s390: move restart of execve() syscall
s390: rename PIF_SYSCALL_RESTART to PIF_EXECVE_PGSTE_RESTART
Thomas Richter (1):
s390/cpumf: Allow concurrent access for CPU Measurement Counter Facility
Valentin Schneider (1):
s390: preempt: Fix preempt_count initialization
Vasily Gorbik (1):
s390/linkage: increase asm symbols alignment to 16
arch/s390/Kconfig | 2 +-
arch/s390/Makefile | 13 +
arch/s390/boot/startup.c | 1 +
arch/s390/boot/uv.c | 1 +
arch/s390/include/asm/ap.h | 220 +++--
arch/s390/include/asm/cpu_mcf.h | 36 +-
arch/s390/include/asm/ctl_reg.h | 2 -
arch/s390/include/asm/elf.h | 15 +-
arch/s390/include/asm/entry-common.h | 1 -
arch/s390/include/asm/linkage.h | 2 +-
arch/s390/include/asm/nmi.h | 6 +-
arch/s390/include/asm/preempt.h | 16 +-
arch/s390/include/asm/ptrace.h | 24 +-
arch/s390/include/asm/setup.h | 2 +
arch/s390/include/asm/softirq_stack.h | 13 +
arch/s390/include/asm/stacktrace.h | 116 ++-
arch/s390/include/asm/uv.h | 8 +-
arch/s390/include/asm/vdso.h | 25 +-
arch/s390/include/asm/vdso/gettimeofday.h | 1 -
arch/s390/kernel/Makefile | 2 +-
arch/s390/kernel/asm-offsets.c | 6 -
arch/s390/kernel/compat_signal.c | 13 +-
arch/s390/kernel/early.c | 4 +-
arch/s390/kernel/entry.S | 141 ++--
arch/s390/kernel/irq.c | 28 +-
arch/s390/kernel/kprobes.c | 9 +-
arch/s390/kernel/machine_kexec.c | 3 +-
arch/s390/kernel/nmi.c | 129 +--
arch/s390/kernel/perf_cpum_cf.c | 1026 +++++++++++++++++++++++-
arch/s390/kernel/perf_cpum_cf_common.c | 27 +-
arch/s390/kernel/perf_cpum_cf_diag.c | 1148 ---------------------------
arch/s390/kernel/process.c | 6 +
arch/s390/kernel/setup.c | 3 +-
arch/s390/kernel/signal.c | 39 +-
arch/s390/kernel/smp.c | 15 +-
arch/s390/kernel/syscall.c | 34 +-
arch/s390/kernel/traps.c | 14 +-
arch/s390/kernel/uv.c | 10 +
arch/s390/kernel/vdso.c | 63 +-
arch/s390/kernel/vdso32/.gitignore | 2 +
arch/s390/kernel/vdso32/Makefile | 75 ++
arch/s390/kernel/vdso32/gen_vdso_offsets.sh | 15 +
arch/s390/kernel/vdso32/note.S | 13 +
arch/s390/kernel/vdso32/vdso32.lds.S | 141 ++++
arch/s390/kernel/vdso32/vdso32_wrapper.S | 15 +
arch/s390/kernel/vdso32/vdso_user_wrapper.S | 21 +
arch/s390/kernel/vdso64/Makefile | 8 +
arch/s390/kernel/vdso64/gen_vdso_offsets.sh | 15 +
arch/s390/kernel/vdso64/vdso64.lds.S | 5 +-
arch/s390/kernel/vdso64/vdso_user_wrapper.S | 17 +
arch/s390/lib/string.c | 2 +-
arch/s390/lib/test_unwind.c | 5 +-
arch/s390/lib/uaccess.c | 2 +-
arch/s390/mm/fault.c | 49 +-
arch/s390/mm/maccess.c | 13 +-
drivers/s390/crypto/ap_bus.c | 50 +-
drivers/s390/crypto/ap_bus.h | 11 +-
drivers/s390/crypto/ap_card.c | 16 +-
drivers/s390/crypto/ap_queue.c | 28 +-
drivers/s390/crypto/zcrypt_api.c | 6 +
drivers/s390/crypto/zcrypt_cex4.c | 9 +-
drivers/s390/crypto/zcrypt_msgtype50.c | 26 +-
drivers/s390/crypto/zcrypt_msgtype6.c | 54 +-
drivers/s390/crypto/zcrypt_msgtype6.h | 2 -
drivers/s390/crypto/zcrypt_queue.c | 6 +-
include/linux/cpuhotplug.h | 1 -
66 files changed, 2110 insertions(+), 1721 deletions(-)
create mode 100644 arch/s390/include/asm/softirq_stack.h
delete mode 100644 arch/s390/kernel/perf_cpum_cf_diag.c
create mode 100644 arch/s390/kernel/vdso32/.gitignore
create mode 100644 arch/s390/kernel/vdso32/Makefile
create mode 100755 arch/s390/kernel/vdso32/gen_vdso_offsets.sh
create mode 100644 arch/s390/kernel/vdso32/note.S
create mode 100644 arch/s390/kernel/vdso32/vdso32.lds.S
create mode 100644 arch/s390/kernel/vdso32/vdso32_wrapper.S
create mode 100644 arch/s390/kernel/vdso32/vdso_user_wrapper.S
create mode 100755 arch/s390/kernel/vdso64/gen_vdso_offsets.sh