[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <YHcrf6Z0BkFU/F7j@osiris>
Date: Wed, 14 Apr 2021 19:50:55 +0200
From: Heiko Carstens <hca@...ux.ibm.com>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Vasily Gorbik <gor@...ux.ibm.com>,
Christian Borntraeger <borntraeger@...ibm.com>,
linux-s390@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: [GIT PULL] s390 updates for 5.12-rc8 / 5.12
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)
Powered by blists - more mailing lists