s390/kexec_file: fix diag308 subcode when loading crash kernel
authorPhilipp Rudo <prudo@linux.ibm.com>
Thu, 26 Nov 2020 17:31:08 +0000 (18:31 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 30 Dec 2020 10:54:08 +0000 (11:54 +0100)
commitbc8f8833e994c7b58236101686188ccd3d65098f
tree7f8f9c17f1cdcdb79e3e2cf736eed7065b62c318
parent0063e1142a73fdd21dcc37d0251b91e515ecc797
s390/kexec_file: fix diag308 subcode when loading crash kernel

commit 613775d62ec60202f98d2c5f520e6e9ba6dd4ac4 upstream.

diag308 subcode 0 performes a clear reset which inlcudes the reset of
all registers in the system. While this is the preferred behavior when
loading a normal kernel via kexec it prevents the crash kernel to store
the register values in the dump. To prevent this use subcode 1 when
loading a crash kernel instead.

Fixes: ee337f5469fd ("s390/kexec_file: Add crash support to image loader")
Cc: <stable@vger.kernel.org> # 4.17
Signed-off-by: Philipp Rudo <prudo@linux.ibm.com>
Reported-by: Xiaoying Yan <yiyan@redhat.com>
Tested-by: Lianbo Jiang <lijiang@redhat.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/s390/purgatory/head.S