summary refs log tree commit diff
diff options
context:
space:
mode:
authorChristian Borntraeger <borntraeger@de.ibm.com>2016-02-29 15:59:18 +0100
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2016-03-08 10:38:06 +0100
commit7a76aa95f6f6682db5629449d763251d1c9f8c4e (patch)
tree4febb0b89240d9db2e5a2eeb7f7cc78368c752ce
parentce0c12b633846a47e103842149a5bac2e5d261ec (diff)
downloadlinux-7a76aa95f6f6682db5629449d763251d1c9f8c4e.tar.gz
s390/cpumf: Fix lpp detection
we have to check bit 40 of the facility list before issuing LPP
and not bit 48. Otherwise a guest running on a system with
"The decimal-floating-point zoned-conversion facility" and without
the "The set-program-parameters facility" might crash on an lpp
instruction.

Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: stable@vger.kernel.org # v4.4+
Fixes: e22cf8ca6f75 ("s390/cpumf: rework program parameter setting to detect guest samples")
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
-rw-r--r--arch/s390/kernel/head64.S2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/s390/kernel/head64.S b/arch/s390/kernel/head64.S
index c5febe84eba6..03c2b469c472 100644
--- a/arch/s390/kernel/head64.S
+++ b/arch/s390/kernel/head64.S
@@ -16,7 +16,7 @@
 
 __HEAD
 ENTRY(startup_continue)
-	tm	__LC_STFLE_FAC_LIST+6,0x80	# LPP available ?
+	tm	__LC_STFLE_FAC_LIST+5,0x80	# LPP available ?
 	jz	0f
 	xc	__LC_LPP+1(7,0),__LC_LPP+1	# clear lpp and current_pid
 	mvi	__LC_LPP,0x80			#   and set LPP_MAGIC