[PATCH 5.4 099/111] s390/kexec_file: fix initrd location for kdump kernel

From: Greg Kroah-Hartman
Date: Tue May 26 2020 - 15:10:18 EST


From: Philipp Rudo <prudo@xxxxxxxxxxxxx>

commit 70b690547d5ea1a3d135a4cc39cd1e08246d0c3a upstream.

initrd_start must not point at the location the initrd is loaded into
the crashkernel memory but at the location it will be after the
crashkernel memory is swapped with the memory at 0.

Fixes: ee337f5469fd ("s390/kexec_file: Add crash support to image loader")
Reported-by: Lianbo Jiang <lijiang@xxxxxxxxxx>
Signed-off-by: Philipp Rudo <prudo@xxxxxxxxxxxxx>
Tested-by: Lianbo Jiang <lijiang@xxxxxxxxxx>
Link: https://lore.kernel.org/r/20200512193956.15ae3f23@xxxxxxxxxxxxxxxxx
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Vasily Gorbik <gor@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

---
arch/s390/kernel/machine_kexec_file.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- a/arch/s390/kernel/machine_kexec_file.c
+++ b/arch/s390/kernel/machine_kexec_file.c
@@ -151,7 +151,7 @@ static int kexec_file_add_initrd(struct
buf.mem += crashk_res.start;
buf.memsz = buf.bufsz;

- data->parm->initrd_start = buf.mem;
+ data->parm->initrd_start = data->memsz;
data->parm->initrd_size = buf.memsz;
data->memsz += buf.memsz;