X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=init%2Fdo_mounts_initrd.c;h=3e0878e8a80d65548ffac907a3285f9deea8d5a3;hb=453e519e5aed806c1b70bcbe92aeab39a93dda22;hp=a32ec1ce882b22dc96ed714a3f68e5838ed98af3;hpb=0d4a42f6bd298e826620585e766a154ab460617a;p=firefly-linux-kernel-4.4.55.git diff --git a/init/do_mounts_initrd.c b/init/do_mounts_initrd.c index a32ec1ce882b..3e0878e8a80d 100644 --- a/init/do_mounts_initrd.c +++ b/init/do_mounts_initrd.c @@ -50,6 +50,7 @@ static int init_linuxrc(struct subprocess_info *info, struct cred *new) static void __init handle_initrd(void) { + struct subprocess_info *info; static char *argv[] = { "linuxrc", NULL, }; extern char *envp_init[]; int error; @@ -70,8 +71,11 @@ static void __init handle_initrd(void) */ current->flags |= PF_FREEZER_SKIP; - call_usermodehelper_fns("/linuxrc", argv, envp_init, UMH_WAIT_PROC, - init_linuxrc, NULL, NULL); + info = call_usermodehelper_setup("/linuxrc", argv, envp_init, + GFP_KERNEL, init_linuxrc, NULL, NULL); + if (!info) + return; + call_usermodehelper_exec(info, UMH_WAIT_PROC); current->flags &= ~PF_FREEZER_SKIP;