lkml.org 
[lkml]   [2020]   [Jun]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[PATCH v2 02/15] umh: Move setting PF_UMH into umh_pipe_setup

    I am separating the code specific to user mode drivers from the code
    for ordinary user space helpers. Move setting of PF_UMH from
    call_usermodehelper_exec_async which is core user mode helper code
    into umh_pipe_setup which is user mode driver code.

    The code is equally as easy to write in one location as the other and
    the movement minimizes the impact of the user mode driver code on the
    core of the user mode helper code.

    Setting PF_UMH unconditionally is harmless as an action will only
    happen if it is paired with an entry on umh_list.

    Link: https://lkml.kernel.org/r/87bll6gf8t.fsf_-_@x220.int.ebiederm.org
    Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
    ---
    kernel/umh.c | 7 +++----
    1 file changed, 3 insertions(+), 4 deletions(-)

    diff --git a/kernel/umh.c b/kernel/umh.c
    index c2a582b3a2bf..e6b9d6636850 100644
    --- a/kernel/umh.c
    +++ b/kernel/umh.c
    @@ -102,12 +102,10 @@ static int call_usermodehelper_exec_async(void *data)

    commit_creds(new);

    - if (sub_info->file) {
    + if (sub_info->file)
    retval = do_execve_file(sub_info->file,
    sub_info->argv, sub_info->envp);
    - if (!retval)
    - current->flags |= PF_UMH;
    - } else
    + else
    retval = do_execve(getname_kernel(sub_info->path),
    (const char __user *const __user *)sub_info->argv,
    (const char __user *const __user *)sub_info->envp);
    @@ -468,6 +466,7 @@ static int umh_pipe_setup(struct subprocess_info *info, struct cred *new)
    umh_info->pipe_to_umh = to_umh[1];
    umh_info->pipe_from_umh = from_umh[0];
    umh_info->pid = task_pid_nr(current);
    + current->flags |= PF_UMH;
    return 0;
    }

    --
    2.25.0
    \
     
     \ /
      Last update: 2020-06-29 22:02    [W:4.139 / U:0.240 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site