--- /dev/null
+From 7a76aa95f6f6682db5629449d763251d1c9f8c4e Mon Sep 17 00:00:00 2001
+From: Christian Borntraeger <borntraeger@de.ibm.com>
+Date: Mon, 29 Feb 2016 15:59:18 +0100
+Subject: s390/cpumf: Fix lpp detection
+
+From: Christian Borntraeger <borntraeger@de.ibm.com>
+
+commit 7a76aa95f6f6682db5629449d763251d1c9f8c4e upstream.
+
+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>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/s390/kernel/head64.S | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/arch/s390/kernel/head64.S
++++ b/arch/s390/kernel/head64.S
+@@ -16,7 +16,7 @@
+
+ __HEAD
+ ENTRY(startup_continue)
+- tm __LC_STFL_FAC_LIST+6,0x80 # LPP available ?
++ tm __LC_STFL_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