Skip to content

Commit 1708e76

Browse files
Vasily GorbikSasha Levin
authored andcommitted
s390/kexec: Disable stack protector in s390_reset_system()
[ Upstream commit 1623a55 ] 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: f5730d4 ("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>
1 parent a9e7152 commit 1708e76

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

arch/s390/kernel/ipl.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2377,7 +2377,7 @@ void __init setup_ipl(void)
23772377
atomic_notifier_chain_register(&panic_notifier_list, &on_panic_nb);
23782378
}
23792379

2380-
void s390_reset_system(void)
2380+
void __no_stack_protector s390_reset_system(void)
23812381
{
23822382
/* Disable prefixing */
23832383
set_prefix(0);

0 commit comments

Comments
 (0)