s390/os_info: Initialize old os_info in standalone dump kernel
authorAlexander Egorenkov <egorenar@linux.ibm.com>
Tue, 23 Apr 2024 09:42:05 +0000 (11:42 +0200)
committerAlexander Gordeev <agordeev@linux.ibm.com>
Mon, 29 Apr 2024 15:33:29 +0000 (17:33 +0200)
The commit be42660d0c13 ("s390/crash: use old os_info to create PT_LOAD headers")
introduced use of the old os_info into standalone dump kernel.
Before this change os_info_old_init() expected to be called only from
a regular kdump kernel although the function itself is able to work
in standalone dump kernels as well (because copy_oldmem_kernel() is able
to handle both use cases). Therefore, fix the expectation of os_info_old_init()
and enable it to be called from a standalone dump kernel.

Fixes: f4cac27dc0d6 ("s390/crash: Use old os_info to create PT_LOAD headers")
Acked-by: Alexander Gordeev <agordeev@linux.ibm.com>
Signed-off-by: Alexander Egorenkov <egorenar@linux.ibm.com>
Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
arch/s390/kernel/os_info.c

index 3f4dc045a894bd58ae035822ccb8cee1d47396e6..cb73860c048d2a582f5f7fdc95f74ac4848d3928 100644 (file)
@@ -18,6 +18,7 @@
 #include <asm/physmem_info.h>
 #include <asm/maccess.h>
 #include <asm/asm-offsets.h>
+#include <asm/ipl.h>
 
 /*
  * OS info structure has to be page aligned
@@ -146,7 +147,7 @@ static void os_info_old_init(void)
 
        if (os_info_init)
                return;
-       if (!oldmem_data.start)
+       if (!oldmem_data.start && !is_ipl_type_dump())
                goto fail;
        if (copy_oldmem_kernel(&addr, __LC_OS_INFO, sizeof(addr)))
                goto fail;