From 84f4e1dfb243c0aaed0425a2b1c308a2fb37425d Mon Sep 17 00:00:00 2001
From: Heiko Carstens <hca@linux.ibm.com>
Date: Sun, 24 Apr 2022 15:52:01 +0200
Subject: [PATCH] s390/boot: change initial program check handler to disabled
 wait psw

The program check handler of the kernel image points to
startup_pgm_check_handler. However an early program check which happens
while loading the kernel image will jump to potentially random code, since
the code of the program check handler is not yet loaded; leading to a
program check loop.

Therefore initialize it to a disabled wait psw and let the startup code set
the proper psw when everything is in memory.

Reviewed-by: Vasily Gorbik <gor@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
---
 arch/s390/boot/head.S | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/s390/boot/head.S b/arch/s390/boot/head.S
index 206fca8cb8162..0b2cec40f261a 100644
--- a/arch/s390/boot/head.S
+++ b/arch/s390/boot/head.S
@@ -69,7 +69,7 @@ __HEAD
 	.org	__LC_EXT_NEW_PSW		# 0x1b0
 	.quad	0x0002000180000000,0x1b0	# disabled wait
 	.org	__LC_PGM_NEW_PSW		# 0x1d0
-	.quad	0x0000000180000000,startup_pgm_check_handler
+	.quad	0x0002000180000000,0x1d0	# disabled wait
 	.org	__LC_IO_NEW_PSW			# 0x1f0
 	.quad	0x0002000180000000,0x1f0	# disabled wait
 
-- 
2.30.2