Commit d4e82042 authored by Heiko Carstens's avatar Heiko Carstens

[CVE-2009-0029] System call wrappers part 32

Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
parent 836f92ad
...@@ -198,7 +198,7 @@ struct file *eventfd_fget(int fd) ...@@ -198,7 +198,7 @@ struct file *eventfd_fget(int fd)
return file; return file;
} }
asmlinkage long sys_eventfd2(unsigned int count, int flags) SYSCALL_DEFINE2(eventfd2, unsigned int, count, int, flags)
{ {
int fd; int fd;
struct eventfd_ctx *ctx; struct eventfd_ctx *ctx;
...@@ -228,8 +228,7 @@ asmlinkage long sys_eventfd2(unsigned int count, int flags) ...@@ -228,8 +228,7 @@ asmlinkage long sys_eventfd2(unsigned int count, int flags)
return fd; return fd;
} }
asmlinkage long sys_eventfd(unsigned int count) SYSCALL_DEFINE1(eventfd, unsigned int, count)
{ {
return sys_eventfd2(count, 0); return sys_eventfd2(count, 0);
} }
...@@ -1043,7 +1043,7 @@ int do_pipe(int *fd) ...@@ -1043,7 +1043,7 @@ int do_pipe(int *fd)
* sys_pipe() is the normal C calling standard for creating * sys_pipe() is the normal C calling standard for creating
* a pipe. It's not the way Unix traditionally does this, though. * a pipe. It's not the way Unix traditionally does this, though.
*/ */
asmlinkage long sys_pipe2(int __user *fildes, int flags) SYSCALL_DEFINE2(pipe2, int __user *, fildes, int, flags)
{ {
int fd[2]; int fd[2];
int error; int error;
......
...@@ -102,7 +102,8 @@ static int fillonedir(void * __buf, const char * name, int namlen, loff_t offset ...@@ -102,7 +102,8 @@ static int fillonedir(void * __buf, const char * name, int namlen, loff_t offset
return -EFAULT; return -EFAULT;
} }
asmlinkage long sys_old_readdir(unsigned int fd, struct old_linux_dirent __user * dirent, unsigned int count) SYSCALL_DEFINE3(old_readdir, unsigned int, fd,
struct old_linux_dirent __user *, dirent, unsigned int, count)
{ {
int error; int error;
struct file * file; struct file * file;
......
...@@ -636,8 +636,9 @@ static long do_pselect(int n, fd_set __user *inp, fd_set __user *outp, ...@@ -636,8 +636,9 @@ static long do_pselect(int n, fd_set __user *inp, fd_set __user *outp,
* which has a pointer to the sigset_t itself followed by a size_t containing * which has a pointer to the sigset_t itself followed by a size_t containing
* the sigset size. * the sigset size.
*/ */
asmlinkage long sys_pselect6(int n, fd_set __user *inp, fd_set __user *outp, SYSCALL_DEFINE6(pselect6, int, n, fd_set __user *, inp, fd_set __user *, outp,
fd_set __user *exp, struct timespec __user *tsp, void __user *sig) fd_set __user *, exp, struct timespec __user *, tsp,
void __user *, sig)
{ {
size_t sigsetsize = 0; size_t sigsetsize = 0;
sigset_t __user *up = NULL; sigset_t __user *up = NULL;
...@@ -889,9 +890,9 @@ SYSCALL_DEFINE3(poll, struct pollfd __user *, ufds, unsigned int, nfds, ...@@ -889,9 +890,9 @@ SYSCALL_DEFINE3(poll, struct pollfd __user *, ufds, unsigned int, nfds,
} }
#ifdef HAVE_SET_RESTORE_SIGMASK #ifdef HAVE_SET_RESTORE_SIGMASK
asmlinkage long sys_ppoll(struct pollfd __user *ufds, unsigned int nfds, SYSCALL_DEFINE5(ppoll, struct pollfd __user *, ufds, unsigned int, nfds,
struct timespec __user *tsp, const sigset_t __user *sigmask, struct timespec __user *, tsp, const sigset_t __user *, sigmask,
size_t sigsetsize) 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;
......
...@@ -265,7 +265,7 @@ SYSCALL_DEFINE4(timerfd_settime, int, ufd, int, flags, ...@@ -265,7 +265,7 @@ SYSCALL_DEFINE4(timerfd_settime, int, ufd, int, flags,
return 0; return 0;
} }
asmlinkage long sys_timerfd_gettime(int ufd, struct itimerspec __user *otmr) SYSCALL_DEFINE2(timerfd_gettime, int, ufd, struct itimerspec __user *, otmr)
{ {
struct file *file; struct file *file;
struct timerfd_ctx *ctx; struct timerfd_ctx *ctx;
......
...@@ -678,6 +678,13 @@ asmlinkage long sys_eventfd(unsigned int count); ...@@ -678,6 +678,13 @@ asmlinkage long sys_eventfd(unsigned int count);
asmlinkage long sys_eventfd2(unsigned int count, int flags); asmlinkage long sys_eventfd2(unsigned int count, int flags);
asmlinkage long sys_fallocate(int fd, int mode, loff_t offset, loff_t len); asmlinkage long sys_fallocate(int fd, int mode, loff_t offset, loff_t len);
asmlinkage long sys_old_readdir(unsigned int, struct old_linux_dirent __user *, unsigned int); asmlinkage long sys_old_readdir(unsigned int, struct old_linux_dirent __user *, unsigned int);
asmlinkage long sys_pselect6(int, fd_set __user *, fd_set __user *,
fd_set __user *, struct timespec __user *,
void __user *);
asmlinkage long sys_ppoll(struct pollfd __user *, unsigned int,
struct timespec __user *, const sigset_t __user *,
size_t);
asmlinkage long sys_pipe2(int __user *, int);
int kernel_execve(const char *filename, char *const argv[], char *const envp[]); int kernel_execve(const char *filename, char *const argv[], char *const envp[]);
......
...@@ -2491,11 +2491,10 @@ SYSCALL_DEFINE3(sigprocmask, int, how, old_sigset_t __user *, set, ...@@ -2491,11 +2491,10 @@ SYSCALL_DEFINE3(sigprocmask, int, how, old_sigset_t __user *, set,
#endif /* __ARCH_WANT_SYS_SIGPROCMASK */ #endif /* __ARCH_WANT_SYS_SIGPROCMASK */
#ifdef __ARCH_WANT_SYS_RT_SIGACTION #ifdef __ARCH_WANT_SYS_RT_SIGACTION
asmlinkage long SYSCALL_DEFINE4(rt_sigaction, int, sig,
sys_rt_sigaction(int sig, const struct sigaction __user *, act,
const struct sigaction __user *act, struct sigaction __user *, oact,
struct sigaction __user *oact, size_t, sigsetsize)
size_t sigsetsize)
{ {
struct k_sigaction new_sa, old_sa; struct k_sigaction new_sa, old_sa;
int ret = -EINVAL; int ret = -EINVAL;
...@@ -2578,7 +2577,7 @@ SYSCALL_DEFINE0(pause) ...@@ -2578,7 +2577,7 @@ SYSCALL_DEFINE0(pause)
#endif #endif
#ifdef __ARCH_WANT_SYS_RT_SIGSUSPEND #ifdef __ARCH_WANT_SYS_RT_SIGSUSPEND
asmlinkage long sys_rt_sigsuspend(sigset_t __user *unewset, size_t sigsetsize) SYSCALL_DEFINE2(rt_sigsuspend, sigset_t __user *, unewset, size_t, sigsetsize)
{ {
sigset_t newset; sigset_t newset;
......
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