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.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to