]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
s390/early: Copy last breaking event address to pt_regs
authorHeiko Carstens <hca@linux.ibm.com>
Tue, 1 Jul 2025 16:12:06 +0000 (18:12 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 20 Aug 2025 16:41:11 +0000 (18:41 +0200)
[ Upstream commit 7cf636c99b257c1b4b12066ab34fd5f06e8d892f ]

In case of an early crash the early program check handler also prints the
last breaking event address which is contained within the pt_regs
structure. However it is not initialized, and therefore a more or less
random value is printed in case of a crash.

Copy the last breaking event address from lowcore to pt_regs in case of an
early program check to address this. This also makes it easier to analyze
early crashes.

Reviewed-by: Alexander Gordeev <agordeev@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/s390/kernel/early.c

index 54cf0923050f2d2c562dba5fbbb72287193920a0..9b4b5ccda323ace07acbdac01c1f4f3d3549a216 100644 (file)
@@ -154,6 +154,7 @@ void __init __do_early_pgm_check(struct pt_regs *regs)
 
        regs->int_code = lc->pgm_int_code;
        regs->int_parm_long = lc->trans_exc_code;
+       regs->last_break = lc->pgm_last_break;
        ip = __rewind_psw(regs->psw, regs->int_code >> 16);
 
        /* Monitor Event? Might be a warning */