Messages in this thread | | | From | Lucas De Marchi <> | Date | Sat, 9 Mar 2013 20:57:02 -0300 | Subject | Re: [PATCH v2 6/7] Split remaining calls to call_usermodehelper_fns() |
| |
On Sat, Mar 9, 2013 at 5:42 PM, Oleg Nesterov <oleg@redhat.com> wrote: > 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(); > > ?
Looks good. I'll prepare a v3
Thanks Lucas De Marchi
| |