linux-yocto/arch/s390/kernel
Heiko Carstens 53a47edc72 s390/entry: Fix last breaking event handling in case of stack corruption
commit ae952eea6f upstream.

In case of stack corruption stack_invalid() is called and the expectation
is that register r10 contains the last breaking event address. This
dependency is quite subtle and broke a couple of years ago without that
anybody noticed.

Fix this by getting rid of the dependency and read the last breaking event
address from lowcore.

Fixes: 56e62a7370 ("s390: convert to generic entry")
Acked-by: Ilya Leoshkevich <iii@linux.ibm.com>
Reviewed-by: Alexander Gordeev <agordeev@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-07-06 10:58:03 +02:00
..
syscalls s390/syscalls: Avoid creation of arch/arch/ directory 2024-12-14 19:53:16 +01:00
vdso32 s390/vdso: Use standard stack frame layout 2024-06-12 11:03:43 +02:00
vdso64 s390/vdso: Use standard stack frame layout 2024-06-12 11:03:43 +02:00
.gitignore
abs_lowcore.c s390/smp: rework absolute lowcore access 2022-09-14 16:46:00 +02:00
alternative.c s390/alternatives: remove padding generation code 2022-05-17 15:16:28 +02:00
asm-offsets.c s390/stack: add union to reflect kvm stack slot usages 2022-06-01 12:03:17 +02:00
audit.c
audit.h
cache.c s390/cache: prevent rebuild of shared_cpu_list 2024-03-26 18:20:40 -04:00
compat_audit.c
compat_linux.c
compat_linux.h s390/compat: cleanup compat_linux.h header file 2022-05-06 20:45:16 +02:00
compat_ptrace.h
compat_signal.c
cpcmd.c
cpufeature.c s390/uvdevice: autoload module based on CPU facility 2022-07-19 16:18:49 +02:00
crash_dump.c use less confusing names for iov_iter direction initializers 2023-02-09 11:28:04 +01:00
debug.c s390: move from strlcpy with unused retval to strscpy 2022-08-30 22:00:33 +02:00
diag.c
dis.c
dumpstack.c
early_printk.c
early.c s390/smp,mcck: fix early IPI handling 2024-08-29 17:30:29 +02:00
earlypgm.S s390: generate register offsets into pt_regs automatically 2022-05-25 11:46:02 +02:00
ebcdic.c
entry.h s390: simplify early program check handler 2022-05-25 11:46:02 +02:00
entry.S s390/entry: Fix last breaking event handling in case of stack corruption 2025-07-06 10:58:03 +02:00
fpu.c
ftrace.c ftrace: Remove return value of ftrace_arch_modify_*() 2022-05-26 21:13:00 -04:00
ftrace.h
guarded_storage.c
head64.S s390/early: fix sclp_early_sccb variable lifetime 2023-03-10 09:32:53 +01:00
idle.c s390/idle: mark arch_cpu_idle() noinstr 2023-03-10 09:33:52 +01:00
ima_arch.c
ipl_vmparm.c
ipl.c s390/ipl: Fix incorrect initialization of nvme dump block 2024-06-12 11:03:43 +02:00
irq.c s390/irq: utilize RCU instead of irq_lock_sparse() in show_msi_interrupt() 2022-04-27 12:53:34 +02:00
jump_label.c jump_label: make initial NOP patching the special case 2022-06-24 09:48:55 +02:00
kdebugfs.c
kexec_elf.c
kexec_image.c
kprobes_insn_page.S
kprobes.c s390/entry: Mark IRQ entries to fix stack depot warnings 2024-12-14 19:54:14 +01:00
lgr.c
machine_kexec_file.c s390/kexec: fix ipl report address for kdump 2023-01-18 11:58:11 +01:00
machine_kexec_reloc.c
machine_kexec.c s390/smp: rework absolute lowcore access 2022-09-14 16:46:00 +02:00
Makefile rethook, fprobe: do not trace rethook related functions 2023-05-24 17:32:53 +01:00
mcount.S
module.c jump_label: mips: move module NOP patching into arch code 2022-06-24 09:48:55 +02:00
nmi.c s390/boot: fix absolute zero lowcore corruption on boot 2022-09-07 14:04:01 +02:00
nospec-branch.c
nospec-sysfs.c
numa.c
os_info.c s390/mm: uninline copy_oldmem_kernel() function 2022-09-14 16:46:01 +02:00
perf_cpum_cf_common.c
perf_cpum_cf_events.c s390/cpumf: add new extended counter set for IBM z16 2022-05-16 10:58:33 +02:00
perf_cpum_cf.c s390/cpumf: support user space events for counting 2024-01-10 17:10:30 +01:00
perf_cpum_sf.c s390/cpum_sf: Handle CPU hotplug remove during sampling 2024-12-14 19:54:37 +01:00
perf_event.c s390/stack: add union to reflect kvm stack slot usages 2022-06-01 12:03:17 +02:00
perf_pai_crypto.c s390/pai: fix attr_event_free upper limit for pai device drivers 2024-03-26 18:20:34 -04:00
perf_pai_ext.c s390/pai: fix attr_event_free upper limit for pai device drivers 2024-03-26 18:20:34 -04:00
perf_regs.c
process.c treewide: use get_random_{u8,u16}() when possible, part 2 2022-10-11 17:42:58 -06:00
processor.c s390/cpufeature: rework to allow more than only hwcap bits 2022-07-19 16:18:49 +02:00
ptrace.c s390/ptrace: handle setting of fpc register correctly 2024-02-05 20:12:49 +00:00
reipl.S
relocate_kernel.S s390/kexec: set end-of-ipl flag in last diag308 call 2022-04-25 13:54:12 +02:00
runtime_instr.c
setup.c s390/boot: Remove alt_stfle_fac_list from decompressor 2024-06-12 11:03:44 +02:00
signal.c
smp.c s390/smp,mcck: fix early IPI handling 2024-08-29 17:30:29 +02:00
stacktrace.c
sthyi.c KVM: s390: fix sthyi error handling 2023-08-11 12:08:11 +02:00
syscall.c
sysinfo.c
text_amode31.S
time.c s390/stp: clock_delta should be signed 2022-05-11 14:40:57 +02:00
topology.c s390/topology: honour nr_cpu_ids when adding CPUs 2023-06-09 10:34:13 +02:00
trace.c
traps.c s390/traps: Fix test_monitor_call() inline assembly 2025-03-13 12:53:15 +01:00
unwind_bc.c
uprobes.c
uv.c s390/uv: Don't call folio_wait_writeback() without a folio reference 2024-08-03 08:49:12 +02:00
vdso.c treewide: use prandom_u32_max() when possible, part 1 2022-10-11 17:42:55 -06:00
vmlinux.lds.S s390/vmlinux.lds.S: Move ro_after_init section behind rodata section 2024-09-12 11:10:24 +02:00
vtime.c s390/vtime: fix average steal time calculation 2024-03-26 18:20:59 -04:00