Messages in this thread | | | Date | Sat, 9 Mar 2013 21:42:42 +0100 | From | Oleg Nesterov <> | Subject | Re: [PATCH v2 6/7] Split remaining calls to call_usermodehelper_fns() |
| |
On 03/08, Lucas De Marchi wrote: > > @@ -571,9 +572,17 @@ void do_coredump(siginfo_t *siginfo) > goto fail_dropcount; > } > > - retval = call_usermodehelper_fns(helper_argv[0], helper_argv, > - NULL, UMH_WAIT_EXEC, umh_pipe_setup, > - NULL, &cprm); > + sub_info = call_usermodehelper_setup(helper_argv[0], > + helper_argv, NULL, GFP_KERNEL, > + umh_pipe_setup, NULL, &cprm); > + if (!sub_info) { > + printk(KERN_WARNING "%s failed to allocate memory\n", > + __func__);
Why?
> + argv_free(helper_argv); > + goto fail_dropcount; > + } > + > + retval = call_usermodehelper_exec(sub_info, UMH_WAIT_EXEC);
I do not really like another argv_free() here... How about
retval = -ENOMEM; info = call_usermodehelper_setup(...); if (info) retval = call_usermodehelper_fns(...); argv_free();
?
Oleg.
| |