]> git.hungrycats.org Git - linux/commit
s390/kexec: Disable stack protector in s390_reset_system()
authorVasily Gorbik <gor@linux.ibm.com>
Mon, 23 Feb 2026 22:33:52 +0000 (23:33 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 14 Sep 2026 11:36:16 +0000 (13:36 +0200)
commit15a9acc5e6553b548758c2fc749e66d14184cb77
tree857e1474eab0a417d36ece92e4e234b218ad83eb
parentadf8f940e450dea8c64f47317b5048f8c9492e72
s390/kexec: Disable stack protector in s390_reset_system()

[ Upstream commit 1623a554c68f352c17d0a358bc62580dc187f06b ]

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: f5730d44e05e ("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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/s390/kernel/ipl.c