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

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
This commit is contained in:
Heiko Carstens 2009-01-14 14:14:13 +01:00
parent bdc480e3be
commit 257ac264d6
3 changed files with 14 additions and 10 deletions

View file

@ -174,7 +174,7 @@ out:
return error; return error;
} }
asmlinkage long sys_fstatfs64(unsigned int fd, size_t sz, struct statfs64 __user *buf) SYSCALL_DEFINE3(fstatfs64, unsigned int, fd, size_t, sz, struct statfs64 __user *, buf)
{ {
struct file * file; struct file * file;
struct statfs64 tmp; struct statfs64 tmp;

View file

@ -162,7 +162,8 @@ SYSCALL_DEFINE2(stat, char __user *, filename, struct __old_kernel_stat __user *
return error; return error;
} }
asmlinkage long sys_lstat(char __user * filename, struct __old_kernel_stat __user * statbuf)
SYSCALL_DEFINE2(lstat, char __user *, filename, struct __old_kernel_stat __user *, statbuf)
{ {
struct kstat stat; struct kstat stat;
int error = vfs_lstat_fd(AT_FDCWD, filename, &stat); int error = vfs_lstat_fd(AT_FDCWD, filename, &stat);
@ -172,7 +173,8 @@ asmlinkage long sys_lstat(char __user * filename, struct __old_kernel_stat __use
return error; return error;
} }
asmlinkage long sys_fstat(unsigned int fd, struct __old_kernel_stat __user * statbuf)
SYSCALL_DEFINE2(fstat, unsigned int, fd, struct __old_kernel_stat __user *, statbuf)
{ {
struct kstat stat; struct kstat stat;
int error = vfs_fstat(fd, &stat); int error = vfs_fstat(fd, &stat);
@ -235,7 +237,7 @@ static int cp_new_stat(struct kstat *stat, struct stat __user *statbuf)
return copy_to_user(statbuf,&tmp,sizeof(tmp)) ? -EFAULT : 0; return copy_to_user(statbuf,&tmp,sizeof(tmp)) ? -EFAULT : 0;
} }
asmlinkage long sys_newstat(char __user *filename, struct stat __user *statbuf) SYSCALL_DEFINE2(newstat, char __user *, filename, struct stat __user *, statbuf)
{ {
struct kstat stat; struct kstat stat;
int error = vfs_stat_fd(AT_FDCWD, filename, &stat); int error = vfs_stat_fd(AT_FDCWD, filename, &stat);
@ -246,7 +248,7 @@ asmlinkage long sys_newstat(char __user *filename, struct stat __user *statbuf)
return error; return error;
} }
asmlinkage long sys_newlstat(char __user *filename, struct stat __user *statbuf) SYSCALL_DEFINE2(newlstat, char __user *, filename, struct stat __user *, statbuf)
{ {
struct kstat stat; struct kstat stat;
int error = vfs_lstat_fd(AT_FDCWD, filename, &stat); int error = vfs_lstat_fd(AT_FDCWD, filename, &stat);
@ -280,7 +282,7 @@ out:
} }
#endif #endif
asmlinkage long sys_newfstat(unsigned int fd, struct stat __user *statbuf) SYSCALL_DEFINE2(newfstat, unsigned int, fd, struct stat __user *, statbuf)
{ {
struct kstat stat; struct kstat stat;
int error = vfs_fstat(fd, &stat); int error = vfs_fstat(fd, &stat);
@ -365,7 +367,7 @@ static long cp_new_stat64(struct kstat *stat, struct stat64 __user *statbuf)
return copy_to_user(statbuf,&tmp,sizeof(tmp)) ? -EFAULT : 0; return copy_to_user(statbuf,&tmp,sizeof(tmp)) ? -EFAULT : 0;
} }
asmlinkage long sys_stat64(char __user * filename, struct stat64 __user * statbuf) SYSCALL_DEFINE2(stat64, char __user *, filename, struct stat64 __user *, statbuf)
{ {
struct kstat stat; struct kstat stat;
int error = vfs_stat(filename, &stat); int error = vfs_stat(filename, &stat);
@ -375,7 +377,8 @@ asmlinkage long sys_stat64(char __user * filename, struct stat64 __user * statbu
return error; return error;
} }
asmlinkage long sys_lstat64(char __user * filename, struct stat64 __user * statbuf)
SYSCALL_DEFINE2(lstat64, char __user *, filename, struct stat64 __user *, statbuf)
{ {
struct kstat stat; struct kstat stat;
int error = vfs_lstat(filename, &stat); int error = vfs_lstat(filename, &stat);
@ -385,7 +388,8 @@ asmlinkage long sys_lstat64(char __user * filename, struct stat64 __user * statb
return error; return error;
} }
asmlinkage long sys_fstat64(unsigned long fd, struct stat64 __user * statbuf)
SYSCALL_DEFINE2(fstat64, unsigned long, fd, struct stat64 __user *, statbuf)
{ {
struct kstat stat; struct kstat stat;
int error = vfs_fstat(fd, &stat); int error = vfs_fstat(fd, &stat);

View file

@ -544,7 +544,7 @@ rescan:
return NULL; return NULL;
} }
asmlinkage long sys_ustat(unsigned dev, struct ustat __user * ubuf) SYSCALL_DEFINE2(ustat, unsigned, dev, struct ustat __user *, ubuf)
{ {
struct super_block *s; struct super_block *s;
struct ustat tmp; struct ustat tmp;