Commit c9da9f21 authored by Heiko Carstens's avatar Heiko Carstens

[CVE-2009-0029] Make sys_pselect7 static

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: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
parent 1134723e
...@@ -1709,7 +1709,7 @@ asmlinkage long compat_sys_select(int n, compat_ulong_t __user *inp, ...@@ -1709,7 +1709,7 @@ asmlinkage long compat_sys_select(int n, compat_ulong_t __user *inp,
} }
#ifdef HAVE_SET_RESTORE_SIGMASK #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, compat_ulong_t __user *outp, compat_ulong_t __user *exp,
struct compat_timespec __user *tsp, compat_sigset_t __user *sigmask, struct compat_timespec __user *tsp, compat_sigset_t __user *sigmask,
compat_size_t sigsetsize) compat_size_t sigsetsize)
...@@ -1775,8 +1775,8 @@ asmlinkage long compat_sys_pselect6(int n, compat_ulong_t __user *inp, ...@@ -1775,8 +1775,8 @@ asmlinkage long compat_sys_pselect6(int n, compat_ulong_t __user *inp,
(compat_size_t __user *)(sig+sizeof(up)))) (compat_size_t __user *)(sig+sizeof(up))))
return -EFAULT; return -EFAULT;
} }
return compat_sys_pselect7(n, inp, outp, exp, tsp, compat_ptr(up), return do_compat_pselect(n, inp, outp, exp, tsp, compat_ptr(up),
sigsetsize); sigsetsize);
} }
asmlinkage long compat_sys_ppoll(struct pollfd __user *ufds, asmlinkage long compat_sys_ppoll(struct pollfd __user *ufds,
......
...@@ -582,9 +582,9 @@ asmlinkage long sys_select(int n, fd_set __user *inp, fd_set __user *outp, ...@@ -582,9 +582,9 @@ asmlinkage long sys_select(int n, fd_set __user *inp, fd_set __user *outp,
} }
#ifdef HAVE_SET_RESTORE_SIGMASK #ifdef HAVE_SET_RESTORE_SIGMASK
asmlinkage long sys_pselect7(int n, fd_set __user *inp, fd_set __user *outp, static long do_pselect(int n, fd_set __user *inp, fd_set __user *outp,
fd_set __user *exp, struct timespec __user *tsp, fd_set __user *exp, struct timespec __user *tsp,
const sigset_t __user *sigmask, size_t sigsetsize) const sigset_t __user *sigmask, size_t sigsetsize)
{ {
sigset_t ksigmask, sigsaved; sigset_t ksigmask, sigsaved;
struct timespec ts, end_time, *to = NULL; struct timespec ts, end_time, *to = NULL;
...@@ -650,7 +650,7 @@ asmlinkage long sys_pselect6(int n, fd_set __user *inp, fd_set __user *outp, ...@@ -650,7 +650,7 @@ asmlinkage long sys_pselect6(int n, fd_set __user *inp, fd_set __user *outp,
return -EFAULT; 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 */ #endif /* HAVE_SET_RESTORE_SIGMASK */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment