lkml.org 
[lkml]   [2009]   [Jan]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[patch 25/85] [PATCH 05/44] [CVE-2009-0029] Make sys_pselect7 static
    2.6.27-stable review patch.  If anyone has any objections, please let us know.

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

    From: Heiko Carstens <heiko.carstens@de.ibm.com>

    commit c9da9f2129d6a421c32e334a83770a9e67f7feac upstream.

    Not a single architecture has wired up sys_pselect7 plus it is the
    only system call with seven parameters. Just make it static and
    rename it to do_pselect which will do the work for sys_pselect6.

    Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    ---
    fs/compat.c | 6 +++---
    fs/select.c | 8 ++++----
    2 files changed, 7 insertions(+), 7 deletions(-)

    --- a/fs/compat.c
    +++ b/fs/compat.c
    @@ -1640,7 +1640,7 @@ sticky:
    }

    #ifdef HAVE_SET_RESTORE_SIGMASK
    -asmlinkage long compat_sys_pselect7(int n, compat_ulong_t __user *inp,
    +static long do_compat_pselect(int n, compat_ulong_t __user *inp,
    compat_ulong_t __user *outp, compat_ulong_t __user *exp,
    struct compat_timespec __user *tsp, compat_sigset_t __user *sigmask,
    compat_size_t sigsetsize)
    @@ -1748,8 +1748,8 @@ asmlinkage long compat_sys_pselect6(int
    (compat_size_t __user *)(sig+sizeof(up))))
    return -EFAULT;
    }
    - return compat_sys_pselect7(n, inp, outp, exp, tsp, compat_ptr(up),
    - sigsetsize);
    + return do_compat_pselect(n, inp, outp, exp, tsp, compat_ptr(up),
    + sigsetsize);
    }

    asmlinkage long compat_sys_ppoll(struct pollfd __user *ufds,
    --- a/fs/select.c
    +++ b/fs/select.c
    @@ -427,9 +427,9 @@ sticky:
    }

    #ifdef HAVE_SET_RESTORE_SIGMASK
    -asmlinkage long sys_pselect7(int n, fd_set __user *inp, fd_set __user *outp,
    - fd_set __user *exp, struct timespec __user *tsp,
    - const sigset_t __user *sigmask, size_t sigsetsize)
    +static long do_pselect(int n, fd_set __user *inp, fd_set __user *outp,
    + fd_set __user *exp, struct timespec __user *tsp,
    + const sigset_t __user *sigmask, size_t sigsetsize)
    {
    s64 timeout = MAX_SCHEDULE_TIMEOUT;
    sigset_t ksigmask, sigsaved;
    @@ -527,7 +527,7 @@ asmlinkage long sys_pselect6(int n, fd_s
    return -EFAULT;
    }

    - return sys_pselect7(n, inp, outp, exp, tsp, up, sigsetsize);
    + return do_pselect(n, inp, outp, exp, tsp, up, sigsetsize);
    }
    #endif /* HAVE_SET_RESTORE_SIGMASK */



    \
     
     \ /
      Last update: 2009-01-15 23:19    [W:0.045 / U:61.868 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site