Messages in this thread | | | Date | Sat, 9 Mar 2013 21:23:29 +0100 | From | Oleg Nesterov <> | Subject | Re: [PATCH v2 3/7] kmod: split call to call_usermodehelper_fns() |
| |
On 03/08, Lucas De Marchi wrote: > > Use call_usermodehelper_setup() + call_usermodehelper_exec() instead of > calling call_usermodehelper_fns(). In case the latter returns -ENOMEM > the cleanup function may had not been called - in this case we would > not free argv and module_name. > > Signed-off-by: Lucas De Marchi <lucas.demarchi@profusion.mobi>
Thanks!
looks correct, but...
> @@ -98,8 +100,17 @@ static int call_modprobe(char *module_name, int wait) > argv[3] = module_name; /* check free_modprobe_argv() */ > argv[4] = NULL; > > - return call_usermodehelper_fns(modprobe_path, argv, envp, > - wait | UMH_KILLABLE, NULL, free_modprobe_argv, NULL); > + gfp_mask = (wait == UMH_NO_WAIT) ? GFP_ATOMIC : GFP_KERNEL;
Why? it is never called with UMH_NO_WAIT,
> + info = call_usermodehelper_setup(modprobe_path, argv, envp, > + gfp_mask, NULL, free_modprobe_argv,
can't we simply use GFP_KERNEL?
Oleg.
| |