]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - kernel/kexec_file.c
mei: exclude device from suspend direct complete optimization
[karo-tx-linux.git] / kernel / kexec_file.c
index 766e7e4d3ad91d99a7b3cb90bc6f84511d76c72d..9f48f441229720b0e02434b2375b61d9c62b7706 100644 (file)
 #include <linux/vmalloc.h>
 #include "kexec_internal.h"
 
-/*
- * Declare these symbols weak so that if architecture provides a purgatory,
- * these will be overridden.
- */
-char __weak kexec_purgatory[0];
-size_t __weak kexec_purgatory_size = 0;
-
 static int kexec_calculate_store_digests(struct kimage *image);
 
 /* Architectures can provide this probe function */
@@ -298,6 +291,14 @@ SYSCALL_DEFINE5(kexec_file_load, int, kernel_fd, int, initrd_fd,
        if (ret)
                goto out;
 
+       /*
+        * Some architecture(like S390) may touch the crash memory before
+        * machine_kexec_prepare(), we must copy vmcoreinfo data after it.
+        */
+       ret = kimage_crash_copy_vmcoreinfo(image);
+       if (ret)
+               goto out;
+
        ret = kexec_calculate_store_digests(image);
        if (ret)
                goto out;