diff options
Diffstat (limited to 'init')
-rw-r--r-- | init/initramfs.c | 2 | ||||
-rw-r--r-- | init/main.c | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/init/initramfs.c b/init/initramfs.c index dc84cf756cea..18229cfe8906 100644 --- a/init/initramfs.c +++ b/init/initramfs.c @@ -15,6 +15,7 @@ #include <linux/mm.h> #include <linux/namei.h> #include <linux/init_syscalls.h> +#include <linux/task_work.h> #include <linux/umh.h> static __initdata bool csum_present; @@ -727,6 +728,7 @@ done: initrd_end = 0; flush_delayed_fput(); + task_work_run(); } static ASYNC_DOMAIN_EXCLUSIVE(initramfs_domain); diff --git a/init/main.c b/init/main.c index 02eb533018f6..0ee39cdcfcac 100644 --- a/init/main.c +++ b/init/main.c @@ -688,7 +688,7 @@ noinline void __ref rest_init(void) * the init task will end up wanting to create kthreads, which, if * we schedule it before we create kthreadd, will OOPS. */ - pid = kernel_thread(kernel_init, NULL, CLONE_FS); + pid = user_mode_thread(kernel_init, NULL, CLONE_FS); /* * Pin init on the boot CPU. Task migration is not properly working * until sched_init_smp() has been run. It will set the allowed |