Re: [PATCH 1/2] s390/entry: Last breaking event vs invalid kernel stack
From: Alexander Gordeev
Date: Tue Oct 13 2026 - 03:57:04 EST
On Fri, Oct 02, 2026 at 05:20:54PM +0200, Heiko Carstens wrote:
> In case an invalid kernel stack is detected the last breaking event
> address is copied to the orig_gpr2 member of the generated pt_regs
> structure. Correct location would be last_break. Fix this.
>
> This adds help information to the printed messages:
>
> Before:
> Kernel stack pointer invalid
> ...
> Last Breaking-Event-Address:
> [<0000000000000000>] 0x0
>
> After:
> Kernel stack pointer invalid
> ...
> Last Breaking-Event-Address:
> [<000001b802c1ae1c>] proc_reg_write+0x5c/0xd0
>
> Signed-off-by: Heiko Carstens <hca@xxxxxxxxxxxxx>
> ---
> arch/s390/kernel/entry.S | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/s390/kernel/entry.S b/arch/s390/kernel/entry.S
> index 10dd9bbdf985..4e99ed559dbd 100644
> --- a/arch/s390/kernel/entry.S
> +++ b/arch/s390/kernel/entry.S
> @@ -622,7 +622,7 @@ SYM_CODE_START(stack_invalid)
> stmg %r8,%r9,__PT_PSW(%r11)
> mvc __PT_R8(64,%r11),0(%r14)
> GET_LC %r2
> - mvc __PT_ORIG_GPR2(8,%r11),__LC_PGM_LAST_BREAK(%r2)
> + mvc __PT_LAST_BREAK(8,%r11),__LC_PGM_LAST_BREAK(%r2)
> xc __SF_BACKCHAIN(8,%r15),__SF_BACKCHAIN(%r15)
> lgr %r2,%r11 # pass pointer to pt_regs
> jg kernel_stack_invalid
Reviewed-by: Alexander Gordeev <agordeev@xxxxxxxxxxxxx>