]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
s390/entry: Fix setting _CIF_MCCK_GUEST with lowcore relocation
authorSven Schnelle <svens@linux.ibm.com>
Thu, 20 Mar 2025 12:25:38 +0000 (13:25 +0100)
committerVasily Gorbik <gor@linux.ibm.com>
Mon, 31 Mar 2025 10:20:39 +0000 (12:20 +0200)
When lowcore relocation is enabled, the machine check handler doesn't
use the lowcore address when setting _CIF_MCCK_GUEST. Fix this by
adding the missing base register.

Fixes: 0001b7bbc53a ("s390/entry: Make mchk_int_handler() ready for lowcore relocation")
Reported-by: Heiko Carstens <hca@linux.ibm.com>
Reviewed-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Sven Schnelle <svens@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
arch/s390/kernel/entry.S

index b0c2356697fd3374509795f223eef84146376bc2..dd291c9ad6a61bb05dc88c4da0001e842454bed8 100644 (file)
@@ -468,7 +468,7 @@ SYM_CODE_START(mcck_int_handler)
        clgrjl  %r9,%r14, 4f
        larl    %r14,.Lsie_leave
        clgrjhe %r9,%r14, 4f
-       lg      %r10,__LC_PCPU
+       lg      %r10,__LC_PCPU(%r13)
        oi      __PCPU_FLAGS+7(%r10), _CIF_MCCK_GUEST
 4:     BPENTER __SF_SIE_FLAGS(%r15),_TIF_ISOLATE_BP_GUEST
        SIEEXIT __SF_SIE_CONTROL(%r15),%r13