Michal Suchanek d2b555
From 70b690547d5ea1a3d135a4cc39cd1e08246d0c3a Mon Sep 17 00:00:00 2001
Michal Suchanek d2b555
From: Philipp Rudo <prudo@linux.ibm.com>
Michal Suchanek d2b555
Date: Tue, 12 May 2020 19:39:56 +0200
Michal Suchanek d2b555
Subject: [PATCH] s390/kexec_file: fix initrd location for kdump kernel
Michal Suchanek d2b555
Michal Suchanek d2b555
References: bsc#1166340 ltc#184171
Michal Kubecek 571cf9
Patch-mainline: v5.7-rc7
Michal Suchanek d2b555
Git-commit: 70b690547d5ea1a3d135a4cc39cd1e08246d0c3a
Michal Suchanek d2b555
Michal Suchanek d2b555
initrd_start must not point at the location the initrd is loaded into
Michal Suchanek d2b555
the crashkernel memory but at the location it will be after the
Michal Suchanek d2b555
crashkernel memory is swapped with the memory at 0.
Michal Suchanek d2b555
Michal Suchanek d2b555
Fixes: ee337f5469fd ("s390/kexec_file: Add crash support to image loader")
Michal Suchanek d2b555
Reported-by: Lianbo Jiang <lijiang@redhat.com>
Michal Suchanek d2b555
Signed-off-by: Philipp Rudo <prudo@linux.ibm.com>
Michal Suchanek d2b555
Tested-by: Lianbo Jiang <lijiang@redhat.com>
Michal Suchanek d2b555
Link: https://lore.kernel.org/r/20200512193956.15ae3f23@laptop2-ibm.local
Michal Suchanek d2b555
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Michal Suchanek d2b555
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
Michal Suchanek d2b555
Acked-by: Michal Suchanek <msuchanek@suse.de>
Michal Suchanek d2b555
---
Michal Suchanek d2b555
 arch/s390/kernel/machine_kexec_file.c | 2 +-
Michal Suchanek d2b555
 1 file changed, 1 insertion(+), 1 deletion(-)
Michal Suchanek d2b555
Michal Suchanek d2b555
diff --git a/arch/s390/kernel/machine_kexec_file.c b/arch/s390/kernel/machine_kexec_file.c
Michal Suchanek d2b555
index 8415ae7d2a23..f9e4baa64b67 100644
Michal Suchanek d2b555
--- a/arch/s390/kernel/machine_kexec_file.c
Michal Suchanek d2b555
+++ b/arch/s390/kernel/machine_kexec_file.c
Michal Suchanek d2b555
@@ -151,7 +151,7 @@ static int kexec_file_add_initrd(struct kimage *image,
Michal Suchanek d2b555
 		buf.mem += crashk_res.start;
Michal Suchanek d2b555
 	buf.memsz = buf.bufsz;
Michal Suchanek d2b555
 
Michal Suchanek d2b555
-	data->parm->initrd_start = buf.mem;
Michal Suchanek d2b555
+	data->parm->initrd_start = data->memsz;
Michal Suchanek d2b555
 	data->parm->initrd_size = buf.memsz;
Michal Suchanek d2b555
 	data->memsz += buf.memsz;
Michal Suchanek d2b555
 
Michal Suchanek d2b555
-- 
Michal Suchanek d2b555
2.26.2
Michal Suchanek d2b555