提交 a26eab24 编写于 作者: H Heiko Carstens

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

Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
上级 3480b257
...@@ -50,7 +50,7 @@ static int get_close_on_exec(unsigned int fd) ...@@ -50,7 +50,7 @@ static int get_close_on_exec(unsigned int fd)
return res; return res;
} }
asmlinkage long sys_dup3(unsigned int oldfd, unsigned int newfd, int flags) SYSCALL_DEFINE3(dup3, unsigned int, oldfd, unsigned int, newfd, int, flags)
{ {
int err = -EBADF; int err = -EBADF;
struct file * file, *tofree; struct file * file, *tofree;
...@@ -113,7 +113,7 @@ asmlinkage long sys_dup3(unsigned int oldfd, unsigned int newfd, int flags) ...@@ -113,7 +113,7 @@ asmlinkage long sys_dup3(unsigned int oldfd, unsigned int newfd, int flags)
return err; return err;
} }
asmlinkage long sys_dup2(unsigned int oldfd, unsigned int newfd) SYSCALL_DEFINE2(dup2, unsigned int, oldfd, unsigned int, newfd)
{ {
if (unlikely(newfd == oldfd)) { /* corner case */ if (unlikely(newfd == oldfd)) { /* corner case */
struct files_struct *files = current->files; struct files_struct *files = current->files;
...@@ -126,7 +126,7 @@ asmlinkage long sys_dup2(unsigned int oldfd, unsigned int newfd) ...@@ -126,7 +126,7 @@ asmlinkage long sys_dup2(unsigned int oldfd, unsigned int newfd)
return sys_dup3(oldfd, newfd, 0); return sys_dup3(oldfd, newfd, 0);
} }
asmlinkage long sys_dup(unsigned int fildes) SYSCALL_DEFINE1(dup, unsigned int, fildes)
{ {
int ret = -EBADF; int ret = -EBADF;
struct file *file = fget(fildes); struct file *file = fget(fildes);
...@@ -335,7 +335,7 @@ static long do_fcntl(int fd, unsigned int cmd, unsigned long arg, ...@@ -335,7 +335,7 @@ static long do_fcntl(int fd, unsigned int cmd, unsigned long arg,
return err; return err;
} }
asmlinkage long sys_fcntl(unsigned int fd, unsigned int cmd, unsigned long arg) SYSCALL_DEFINE3(fcntl, unsigned int, fd, unsigned int, cmd, unsigned long, arg)
{ {
struct file *filp; struct file *filp;
long err = -EBADF; long err = -EBADF;
...@@ -358,7 +358,8 @@ asmlinkage long sys_fcntl(unsigned int fd, unsigned int cmd, unsigned long arg) ...@@ -358,7 +358,8 @@ asmlinkage long sys_fcntl(unsigned int fd, unsigned int cmd, unsigned long arg)
} }
#if BITS_PER_LONG == 32 #if BITS_PER_LONG == 32
asmlinkage long sys_fcntl64(unsigned int fd, unsigned int cmd, unsigned long arg) SYSCALL_DEFINE3(fcntl64, unsigned int, fd, unsigned int, cmd,
unsigned long, arg)
{ {
struct file * filp; struct file * filp;
long err; long err;
......
...@@ -542,7 +542,7 @@ int do_vfs_ioctl(struct file *filp, unsigned int fd, unsigned int cmd, ...@@ -542,7 +542,7 @@ int do_vfs_ioctl(struct file *filp, unsigned int fd, unsigned int cmd,
return error; return error;
} }
asmlinkage long sys_ioctl(unsigned int fd, unsigned int cmd, unsigned long arg) SYSCALL_DEFINE3(ioctl, unsigned int, fd, unsigned int, cmd, unsigned long, arg)
{ {
struct file *filp; struct file *filp;
int error = -EBADF; int error = -EBADF;
......
...@@ -2718,7 +2718,7 @@ asmlinkage long sys_renameat(int olddfd, const char __user *oldname, ...@@ -2718,7 +2718,7 @@ asmlinkage long sys_renameat(int olddfd, const char __user *oldname,
return error; return error;
} }
asmlinkage long sys_rename(const char __user *oldname, const char __user *newname) SYSCALL_DEFINE2(rename, const char __user *, oldname, const char __user *, newname)
{ {
return sys_renameat(AT_FDCWD, oldname, AT_FDCWD, newname); return sys_renameat(AT_FDCWD, oldname, AT_FDCWD, newname);
} }
......
...@@ -594,7 +594,7 @@ SYSCALL_DEFINE1(chroot, const char __user *, filename) ...@@ -594,7 +594,7 @@ SYSCALL_DEFINE1(chroot, const char __user *, filename)
return error; return error;
} }
asmlinkage long sys_fchmod(unsigned int fd, mode_t mode) SYSCALL_DEFINE2(fchmod, unsigned int, fd, mode_t, mode)
{ {
struct inode * inode; struct inode * inode;
struct dentry * dentry; struct dentry * dentry;
...@@ -658,7 +658,7 @@ asmlinkage long sys_fchmodat(int dfd, const char __user *filename, ...@@ -658,7 +658,7 @@ asmlinkage long sys_fchmodat(int dfd, const char __user *filename,
return error; return error;
} }
asmlinkage long sys_chmod(const char __user *filename, mode_t mode) SYSCALL_DEFINE2(chmod, const char __user *, filename, mode_t, mode)
{ {
return sys_fchmodat(AT_FDCWD, filename, mode); return sys_fchmodat(AT_FDCWD, filename, mode);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册