linux/arch/s390/kernel
Vasily Gorbik 1623a554c6 s390/kexec: Disable stack protector in s390_reset_system()
s390_reset_system() calls set_prefix(0), which switches back to the
absolute lowcore. At that point the stack protector canary no longer
matches the canary from the lowcore the function was entered with, so
the stack check fails.

Mark s390_reset_system() __no_stack_protector. This is safe here since
its callers (__do_machine_kdump() and __do_machine_kexec()) are
effectively no-return and fall back to disabled_wait() on failure.

Fixes: f5730d44e0 ("s390: Add stackprotector support")
Reported-by: Nikita Dubrovskii <nikita@linux.ibm.com>
Reviewed-by: Heiko Carstens <hca@linux.ibm.com>
Acked-by: Alexander Gordeev <agordeev@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
2026-02-25 17:00:25 +01:00
..
diag s390: Remove superfluous newlines from inline assemblies 2025-09-29 13:52:08 +02:00
syscalls rseq: Implement sys_rseq_slice_yield() 2026-01-22 11:11:17 +01:00
vdso Updates for the VDSO subsystem: 2026-02-10 17:02:23 -08:00
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
abs_lowcore.c s390/lowcore: Convert relocated lowcore alternative to machine feature 2025-03-04 17:18:05 +01:00
alternative.c kernel.h: drop hex.h and update all hex.h users 2026-01-20 19:44:19 -08:00
asm-offsets.c ARM: 2025-12-05 17:01:20 -08:00
audit.c s390: Remove compat support 2025-11-17 11:10:38 +01:00
cache.c s390/cache: prevent rebuild of shared_cpu_list 2024-03-07 14:41:15 +01:00
cert_store.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
cpacf.c s390: Remove KMSG_COMPONENT macro 2025-11-24 11:45:21 +01:00
cpcmd.c s390: Remove KMSG_COMPONENT macro 2025-11-24 11:45:21 +01:00
cpufeature.c s390: Explicitly include <linux/export.h> 2025-06-17 18:18:02 +02:00
crash_dump.c s390: Explicitly include <linux/export.h> 2025-06-17 18:18:02 +02:00
ctlreg.c s390: Explicitly include <linux/export.h> 2025-06-17 18:18:02 +02:00
debug.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
dis.c s390/fault: Print unmodified PSW address on protection exception 2025-11-14 11:34:28 +01:00
dumpstack.c s390/fault: Print unmodified PSW address on protection exception 2025-11-14 11:34:28 +01:00
early.c s390: Remove KMSG_COMPONENT macro 2025-11-24 11:45:21 +01:00
early_printk.c s390/early: Dump register contents and call trace for early crashes 2024-08-22 19:28:11 +02:00
ebcdic.c s390/ebcdic: fix typo in comment 2023-07-27 13:11:35 +02:00
entry.h s390/idle: Inline update_timer_idle() 2026-02-25 16:46:07 +01:00
entry.S s390/bug: Implement __WARN_printf() 2026-01-27 12:16:16 +01:00
facility.c s390: Explicitly include <linux/export.h> 2025-06-17 18:18:02 +02:00
fpu.c s390: Explicitly include <linux/export.h> 2025-06-17 18:18:02 +02:00
ftrace.c s390 updates for 6.15 merge window 2025-03-29 11:59:43 -07:00
ftrace.h s390/ftrace: Remove unused ftrace_plt_template* 2024-08-27 20:16:48 +02:00
guarded_storage.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
head.S s390: Rename head64.S to head.S 2025-11-25 15:28:07 +01:00
hiperdispatch.c s390: Remove KMSG_COMPONENT macro 2025-11-24 11:45:21 +01:00
idle.c s390/idle: Inline update_timer_idle() 2026-02-25 16:46:07 +01:00
ima_arch.c
ipl.c s390/kexec: Disable stack protector in s390_reset_system() 2026-02-25 17:00:25 +01:00
ipl_vmparm.c s390/cio: remove unused include linux/spinlock.h from cio.h 2021-07-27 09:39:13 +02:00
irq.c s390/irq/idle: Remove psw bits early 2026-02-25 16:46:07 +01: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 s390: kexec: initialize kexec_buf struct 2025-09-03 17:10:37 -07:00
kexec_image.c s390: kexec: initialize kexec_buf struct 2025-09-03 17:10:37 -07:00
kprobes.c s390/cpufeature: Convert MACHINE_HAS_SEQ_INSN to cpu_has_seq_insn() 2025-03-04 17:18:04 +01:00
lgr.c s390: kernel: convert timeouts to use secs_to_jiffies() 2025-01-12 20:21:01 -08:00
machine_kexec.c s390: Convert MACHINE_IS_[LPAR|VM|KVM], etc, machine_is_[lpar|vm|kvm]() 2025-03-04 17:18:07 +01:00
machine_kexec_file.c s390/kexec: Emit an error message when cmdline is too long 2026-02-03 12:48:28 +01:00
machine_kexec_reloc.c s390/kaslr: add support for R_390_JMP_SLOT relocation type 2020-05-20 10:13:27 +02:00
Makefile s390/vdso: Rename vdso64 to vdso 2025-11-25 15:28:07 +01:00
mcount.S s390/tracing: Enable HAVE_FTRACE_GRAPH_FUNC 2024-12-26 10:50:05 -05:00
module.c s390: Add stackprotector support 2025-11-24 11:45:21 +01:00
nmi.c s390/nmi: Annotate s390_handle_damage() with __noreturn 2025-11-06 14:17:28 +01:00
nospec-branch.c s390/nospec: Push down alternative handling 2024-07-23 16:02:31 +02:00
nospec-sysfs.c s390/nospec: Switch over to sysfs_emit() 2024-10-25 16:03:24 +02:00
numa.c mm/memblock: add memblock_alloc_or_panic interface 2025-01-25 20:22:38 -08:00
os_info.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
perf_cpum_cf.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
perf_cpum_cf_events.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
perf_cpum_sf.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
perf_event.c s390: Remove KMSG_COMPONENT macro 2025-11-24 11:45:21 +01:00
perf_pai.c Convert remaining multi-line kmalloc_obj/flex GFP_KERNEL uses 2026-02-22 08:26:33 -08:00
perf_regs.c s390: Remove compat support 2025-11-17 11:10:38 +01:00
process.c s390: Remove compat support 2025-11-17 11:10:38 +01:00
processor.c s390: Remove KMSG_COMPONENT macro 2025-11-24 11:45:21 +01:00
ptrace.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
reipl.S s390/kdump: Make kdump ready for lowcore relocation 2024-07-23 16:02:32 +02:00
relocate_kernel.S s390/relocate_kernel: adjust indentation 2023-04-19 17:24:18 +02:00
rethook.c s390/rethook: add local rethook header file 2023-02-06 11:13:53 +01:00
rethook.h s390/rethook: add local rethook header file 2023-02-06 11:13:53 +01:00
runtime_instr.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
setup.c mm, arch: consolidate hugetlb CMA reservation 2026-01-26 20:02:19 -08:00
signal.c s390/vdso: Rename vdso64 to vdso 2025-11-25 15:28:07 +01:00
skey.c s390: Remove superfluous newlines from inline assemblies 2025-09-29 13:52:08 +02:00
smp.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
stackprotector.c kernel.h: drop hex.h and update all hex.h users 2026-01-20 19:44:19 -08:00
stacktrace.c s390/stacktrace: Do not fallback to RA register 2025-12-14 11:03:58 +01:00
sthyi.c s390: Fix double word in comments 2025-11-06 14:17:27 +01:00
syscall.c s390/syscalls: Switch to generic system call table generation 2025-11-17 11:10:39 +01:00
sysinfo.c s390/sysinfo: Replace sprintf() with snprintf() for buffer safety 2025-10-21 10:17:29 +02:00
text_amode31.S s390/amode31: Use exrl instead of ex 2025-01-13 09:50:17 +01:00
time.c s390: Remove KMSG_COMPONENT macro 2025-11-24 11:45:21 +01:00
topology.c s390: Remove KMSG_COMPONENT macro 2025-11-24 11:45:21 +01:00
trace.c s390/ftrace: fix potential crashes when switching tracers 2020-04-22 16:20:55 +02:00
traps.c s390/bug: Skip __WARN_trap() in call traces 2026-01-27 12:16:16 +01:00
unwind_bc.c s390: Explicitly include <linux/export.h> 2025-06-17 18:18:02 +02:00
uprobes.c s390: Remove compat support 2025-11-17 11:10:38 +01:00
uv.c KVM: s390: Switch to new gmap 2026-02-04 17:00:10 +01:00
vdso.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
vmcore_info.c s390: Remove __bootdata annotations from declarations 2024-12-15 16:19:04 +01:00
vmlinux.lds.S s390 updates for 6.19 merge window 2025-12-02 16:37:00 -08:00
vtime.c s390/vtime: Use lockdep_assert_irqs_disabled() instead of BUG_ON() 2026-02-25 16:46:07 +01:00
wti.c s390/wti: Add debugfs file to display missed grace periods per cpu 2024-08-29 22:56:35 +02:00