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

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
This commit is contained in:
Heiko Carstens 2009-01-14 14:14:32 +01:00
parent 2e4d0924eb
commit 6559eed8ca
4 changed files with 17 additions and 16 deletions

View file

@ -447,7 +447,7 @@ SYSCALL_ALIAS(sys_fallocate, SyS_fallocate);
* We do this by temporarily clearing all FS-related capabilities and * We do this by temporarily clearing all FS-related capabilities and
* switching the fsuid/fsgid around to the real ones. * switching the fsuid/fsgid around to the real ones.
*/ */
asmlinkage long sys_faccessat(int dfd, const char __user *filename, int mode) SYSCALL_DEFINE3(faccessat, int, dfd, const char __user *, filename, int, mode)
{ {
const struct cred *old_cred; const struct cred *old_cred;
struct cred *override_cred; struct cred *override_cred;
@ -628,8 +628,7 @@ out:
return err; return err;
} }
asmlinkage long sys_fchmodat(int dfd, const char __user *filename, SYSCALL_DEFINE3(fchmodat, int, dfd, const char __user *, filename, mode_t, mode)
mode_t mode)
{ {
struct path path; struct path path;
struct inode *inode; struct inode *inode;
@ -707,8 +706,8 @@ out:
return error; return error;
} }
asmlinkage long sys_fchownat(int dfd, const char __user *filename, uid_t user, SYSCALL_DEFINE5(fchownat, int, dfd, const char __user *, filename, uid_t, user,
gid_t group, int flag) gid_t, group, int, flag)
{ {
struct path path; struct path path;
int error = -EINVAL; int error = -EINVAL;
@ -1060,8 +1059,8 @@ SYSCALL_DEFINE3(open, const char __user *, filename, int, flags, int, mode)
return ret; return ret;
} }
asmlinkage long sys_openat(int dfd, const char __user *filename, int flags, SYSCALL_DEFINE4(openat, int, dfd, const char __user *, filename, int, flags,
int mode) int, mode)
{ {
long ret; long ret;

View file

@ -260,8 +260,8 @@ SYSCALL_DEFINE2(newlstat, char __user *, filename, struct stat __user *, statbuf
} }
#if !defined(__ARCH_WANT_STAT64) || defined(__ARCH_WANT_SYS_NEWFSTATAT) #if !defined(__ARCH_WANT_STAT64) || defined(__ARCH_WANT_SYS_NEWFSTATAT)
asmlinkage long sys_newfstatat(int dfd, char __user *filename, SYSCALL_DEFINE4(newfstatat, int, dfd, char __user *, filename,
struct stat __user *statbuf, int flag) struct stat __user *, statbuf, int, flag)
{ {
struct kstat stat; struct kstat stat;
int error = -EINVAL; int error = -EINVAL;
@ -293,8 +293,8 @@ SYSCALL_DEFINE2(newfstat, unsigned int, fd, struct stat __user *, statbuf)
return error; return error;
} }
asmlinkage long sys_readlinkat(int dfd, const char __user *pathname, SYSCALL_DEFINE4(readlinkat, int, dfd, const char __user *, pathname,
char __user *buf, int bufsiz) char __user *, buf, int, bufsiz)
{ {
struct path path; struct path path;
int error; int error;
@ -400,8 +400,8 @@ SYSCALL_DEFINE2(fstat64, unsigned long, fd, struct stat64 __user *, statbuf)
return error; return error;
} }
asmlinkage long sys_fstatat64(int dfd, char __user *filename, SYSCALL_DEFINE4(fstatat64, int, dfd, char __user *, filename,
struct stat64 __user *statbuf, int flag) struct stat64 __user *, statbuf, int, flag)
{ {
struct kstat stat; struct kstat stat;
int error = -EINVAL; int error = -EINVAL;

View file

@ -170,7 +170,8 @@ out:
return error; return error;
} }
asmlinkage long sys_utimensat(int dfd, char __user *filename, struct timespec __user *utimes, int flags) SYSCALL_DEFINE4(utimensat, int, dfd, char __user *, filename,
struct timespec __user *, utimes, int, flags)
{ {
struct timespec tstimes[2]; struct timespec tstimes[2];
@ -187,7 +188,8 @@ asmlinkage long sys_utimensat(int dfd, char __user *filename, struct timespec __
return do_utimes(dfd, filename, utimes ? tstimes : NULL, flags); return do_utimes(dfd, filename, utimes ? tstimes : NULL, flags);
} }
asmlinkage long sys_futimesat(int dfd, char __user *filename, struct timeval __user *utimes) SYSCALL_DEFINE3(futimesat, int, dfd, char __user *, filename,
struct timeval __user *, utimes)
{ {
struct timeval times[2]; struct timeval times[2];
struct timespec tstimes[2]; struct timespec tstimes[2];

View file

@ -1603,7 +1603,7 @@ static int unshare_fd(unsigned long unshare_flags, struct files_struct **new_fdp
* constructed. Here we are modifying the current, active, * constructed. Here we are modifying the current, active,
* task_struct. * task_struct.
*/ */
asmlinkage long sys_unshare(unsigned long unshare_flags) SYSCALL_DEFINE1(unshare, unsigned long, unshare_flags)
{ {
int err = 0; int err = 0;
struct fs_struct *fs, *new_fs = NULL; struct fs_struct *fs, *new_fs = NULL;