Hi Linux, please pull two small s390 patches. This is also supposed to be the last s390 pull request for 5.12. There are no known bugs left.
Thanks, Heiko The following changes since commit ad31a8c05196a3dc5283b193e9c74a72022d3c65: s390/setup: use memblock_free_late() to free old stack (2021-04-07 14:37:28 +0200) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux.git tags/s390-5.12-7 for you to fetch changes up to a994eddb947ea9ebb7b14d9a1267001699f0a136: s390/entry: save the caller of psw_idle (2021-04-12 12:44:31 +0200) ---------------------------------------------------------------- s390 updates - setup stack backchain properly in external and i/o interrupt handler to fix stack unwinding. This broke when converting to generic entry. - save caller address of psw_idle to get a sane stacktrace. ---------------------------------------------------------------- Vasily Gorbik (2): s390/entry: avoid setting up backchain in ext|io handlers s390/entry: save the caller of psw_idle arch/s390/kernel/entry.S | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/arch/s390/kernel/entry.S b/arch/s390/kernel/entry.S index c10b9f31eef7..12de7a9c85b3 100644 --- a/arch/s390/kernel/entry.S +++ b/arch/s390/kernel/entry.S @@ -401,15 +401,13 @@ ENTRY(\name) brasl %r14,.Lcleanup_sie_int #endif 0: CHECK_STACK __LC_SAVE_AREA_ASYNC - lgr %r11,%r15 aghi %r15,-(STACK_FRAME_OVERHEAD + __PT_SIZE) - stg %r11,__SF_BACKCHAIN(%r15) j 2f 1: BPENTER __TI_flags(%r12),_TIF_ISOLATE_BP lctlg %c1,%c1,__LC_KERNEL_ASCE lg %r15,__LC_KERNEL_STACK - xc __SF_BACKCHAIN(8,%r15),__SF_BACKCHAIN(%r15) -2: la %r11,STACK_FRAME_OVERHEAD(%r15) +2: xc __SF_BACKCHAIN(8,%r15),__SF_BACKCHAIN(%r15) + la %r11,STACK_FRAME_OVERHEAD(%r15) stmg %r0,%r7,__PT_R0(%r11) # clear user controlled registers to prevent speculative use xgr %r0,%r0 @@ -445,6 +443,7 @@ INT_HANDLER io_int_handler,__LC_IO_OLD_PSW,do_io_irq * Load idle PSW. */ ENTRY(psw_idle) + stg %r14,(__SF_GPRS+8*8)(%r15) stg %r3,__SF_EMPTY(%r15) larl %r1,psw_idle_exit stg %r1,__SF_EMPTY+8(%r15)