lkml.org 
[lkml]   [2009]   [May]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[patch 41/58] check_unsafe_exec() doesnt care about signal handlers sharing
    2.6.29-stable review patch.  If anyone has any objections, please let us know.

    ------------------

    From: Al Viro <viro@zeniv.linux.org.uk>

    commit f1191b50ec11c8e2ca766d6d99eb5bb9d2c084a3 upstream.

    ... since we'll unshare sighand anyway

    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

    ---
    fs/exec.c | 7 ++-----
    1 file changed, 2 insertions(+), 5 deletions(-)

    --- a/fs/exec.c
    +++ b/fs/exec.c
    @@ -1053,23 +1053,20 @@ int check_unsafe_exec(struct linux_binpr
    {
    struct task_struct *p = current, *t;
    unsigned long flags;
    - unsigned n_fs, n_sighand;
    + unsigned n_fs;
    int res = 0;

    bprm->unsafe = tracehook_unsafe_exec(p);

    n_fs = 1;
    - n_sighand = 1;
    write_lock(&p->fs->lock);
    lock_task_sighand(p, &flags);
    for (t = next_thread(p); t != p; t = next_thread(t)) {
    if (t->fs == p->fs)
    n_fs++;
    - n_sighand++;
    }

    - if (p->fs->users > n_fs ||
    - atomic_read(&p->sighand->count) > n_sighand) {
    + if (p->fs->users > n_fs) {
    bprm->unsafe |= LSM_UNSAFE_SHARE;
    } else {
    if (p->fs->in_exec)



    \
     
     \ /
      Last update: 2009-05-07 00:15    [W:4.057 / U:0.260 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site