Skip to content

Commit 8d96bba

Browse files
Alexander GordeevVasily Gorbik
authored andcommitted
s390/smp: enforce lowcore protection on CPU restart
As result of commit 915fea0 ("s390/smp: enable DAT before CPU restart callback is called") the low-address protection bit gets mistakenly unset in control register 0 save area of the absolute zero memory. That area is used when manual PSW restart happened to hit an offline CPU. In this case the low-address protection for that CPU will be dropped. Reviewed-by: Heiko Carstens <hca@linux.ibm.com> Fixes: 915fea0 ("s390/smp: enable DAT before CPU restart callback is called") Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com> Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
1 parent 12dd19c commit 8d96bba

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

arch/s390/kernel/setup.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -508,8 +508,8 @@ static void __init setup_lowcore_dat_on(void)
508508
S390_lowcore.svc_new_psw.mask |= PSW_MASK_DAT;
509509
S390_lowcore.program_new_psw.mask |= PSW_MASK_DAT;
510510
S390_lowcore.io_new_psw.mask |= PSW_MASK_DAT;
511-
__ctl_store(S390_lowcore.cregs_save_area, 0, 15);
512511
__ctl_set_bit(0, 28);
512+
__ctl_store(S390_lowcore.cregs_save_area, 0, 15);
513513
put_abs_lowcore(restart_flags, RESTART_FLAG_CTLREGS);
514514
put_abs_lowcore(program_new_psw, lc->program_new_psw);
515515
for (cr = 0; cr < ARRAY_SIZE(lc->cregs_save_area); cr++)

0 commit comments

Comments
 (0)