]> git.baikalelectronics.ru Git - kernel.git/commit
s390/mcck: isolate SIE instruction when setting CIF_MCCK_GUEST flag
authorAlexander Gordeev <agordeev@linux.ibm.com>
Mon, 23 May 2022 10:38:14 +0000 (12:38 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 14 Jun 2022 16:36:13 +0000 (18:36 +0200)
commit6dd08cf2374abad69c07ec9cd8510f0d811b5ddd
treecb72e7f48f4713ccb77ecb655c715596030d7f10
parent78b9f50f0c2cae7b33c1503f5ba9f883f01278ed
s390/mcck: isolate SIE instruction when setting CIF_MCCK_GUEST flag

[ Upstream commit 1b00c417f84440315242d56d4e0514eb7676dc9b ]

Commit 9c2b0ba40099 ("s390: add options to change branch prediction
behaviour for the kernel") introduced .Lsie_exit label - supposedly
to fence off SIE instruction. However, the corresponding address
range length .Lsie_crit_mcck_length was not updated, which led to
BPON code potentionally marked with CIF_MCCK_GUEST flag.

Both .Lsie_exit and .Lsie_crit_mcck_length were removed with commit
140ddaa40243 ("s390: remove critical section cleanup from entry.S"),
but the issue persisted - currently BPOFF and BPENTER macros might
get wrongly considered by the machine check handler as a guest.

Fixes: 9c2b0ba40099 ("s390: add options to change branch prediction behaviour for the kernel")
Reviewed-by: Sven Schnelle <svens@linux.ibm.com>
Reviewed-by: Christian Borntraeger <borntraeger@linux.ibm.com>
Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/s390/kernel/entry.S