Skip to content

Commit 361f6ec

Browse files
svens-s390Vasily Gorbik
authored andcommitted
s390/entry: Make system_call() ready for lowcore relocation
In preparation of having lowcore at different address than zero, add the base register to all lowcore accesses in system_call(). Reviewed-by: Heiko Carstens <[email protected]> Signed-off-by: Sven Schnelle <[email protected]> Signed-off-by: Vasily Gorbik <[email protected]>
1 parent 9b3dcae commit 361f6ec

File tree

1 file changed

+11
-10
lines changed

1 file changed

+11
-10
lines changed

arch/s390/kernel/entry.S

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -264,14 +264,15 @@ EXPORT_SYMBOL(sie_exit)
264264
*/
265265

266266
SYM_CODE_START(system_call)
267-
stpt __LC_SYS_ENTER_TIMER
268-
stmg %r8,%r15,__LC_SAVE_AREA_SYNC
267+
STMG_LC %r8,%r15,__LC_SAVE_AREA_SYNC
268+
GET_LC %r13
269+
stpt __LC_SYS_ENTER_TIMER(%r13)
269270
BPOFF
270271
lghi %r14,0
271272
.Lsysc_per:
272-
STBEAR __LC_LAST_BREAK
273-
lctlg %c1,%c1,__LC_KERNEL_ASCE
274-
lg %r15,__LC_KERNEL_STACK
273+
STBEAR __LC_LAST_BREAK(%r13)
274+
lctlg %c1,%c1,__LC_KERNEL_ASCE(%r13)
275+
lg %r15,__LC_KERNEL_STACK(%r13)
275276
xc __SF_BACKCHAIN(8,%r15),__SF_BACKCHAIN(%r15)
276277
stmg %r0,%r7,STACK_FRAME_OVERHEAD+__PT_R0(%r15)
277278
# clear user controlled register to prevent speculative use
@@ -286,17 +287,17 @@ SYM_CODE_START(system_call)
286287
xgr %r10,%r10
287288
xgr %r11,%r11
288289
la %r2,STACK_FRAME_OVERHEAD(%r15) # pointer to pt_regs
289-
mvc __PT_R8(64,%r2),__LC_SAVE_AREA_SYNC
290-
MBEAR %r2,%r0
290+
mvc __PT_R8(64,%r2),__LC_SAVE_AREA_SYNC(%r13)
291+
MBEAR %r2,%r13
291292
lgr %r3,%r14
292293
brasl %r14,__do_syscall
293294
STACKLEAK_ERASE
294-
lctlg %c1,%c1,__LC_USER_ASCE
295-
mvc __LC_RETURN_PSW(16),STACK_FRAME_OVERHEAD+__PT_PSW(%r15)
295+
lctlg %c1,%c1,__LC_USER_ASCE(%r13)
296+
mvc __LC_RETURN_PSW(16,%r13),STACK_FRAME_OVERHEAD+__PT_PSW(%r15)
296297
BPON
297298
LBEAR STACK_FRAME_OVERHEAD+__PT_LAST_BREAK(%r15)
299+
stpt __LC_EXIT_TIMER(%r13)
298300
lmg %r0,%r15,STACK_FRAME_OVERHEAD+__PT_R0(%r15)
299-
stpt __LC_EXIT_TIMER
300301
LPSWEY __LC_RETURN_PSW,__LC_RETURN_LPSWE
301302
SYM_CODE_END(system_call)
302303

0 commit comments

Comments
 (0)