]> git.ipfire.org Git - thirdparty/linux.git/blobdiff - init/initramfs.c
Merge tag 'cxl-for-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl
[thirdparty/linux.git] / init / initramfs.c
index 76deb48c38cb16dd779de7ee91b35785b6890579..da79760b8be3a67378deb49a8ae8588bc19ddce0 100644 (file)
 #include <linux/mm.h>
 #include <linux/namei.h>
 #include <linux/init_syscalls.h>
-#include <linux/task_work.h>
 #include <linux/umh.h>
 
+#include "do_mounts.h"
+
 static __initdata bool csum_present;
 static __initdata u32 io_csum;
 
@@ -642,7 +643,7 @@ void __weak __init free_initrd_mem(unsigned long start, unsigned long end)
                        "initrd");
 }
 
-#ifdef CONFIG_KEXEC_CORE
+#ifdef CONFIG_CRASH_RESERVE
 static bool __init kexec_free_initrd(void)
 {
        unsigned long crashk_start = (unsigned long)__va(crashk_res.start);
@@ -679,8 +680,6 @@ static void __init populate_initrd_image(char *err)
        struct file *file;
        loff_t pos = 0;
 
-       unpack_to_rootfs(__initramfs_start, __initramfs_size);
-
        printk(KERN_INFO "rootfs image is not initramfs (%s); looks like an initrd\n",
                        err);
        file = filp_open("/initrd.image", O_WRONLY | O_CREAT, 0700);
@@ -736,8 +735,7 @@ done:
        initrd_start = 0;
        initrd_end = 0;
 
-       flush_delayed_fput();
-       task_work_run();
+       init_flush_fput();
 }
 
 static ASYNC_DOMAIN_EXCLUSIVE(initramfs_domain);