mirror of
https://github.com/torvalds/linux.git
synced 2024-11-22 12:11:40 +00:00
[CVE-2009-0029] System call wrappers part 30
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
This commit is contained in:
parent
2e4d0924eb
commit
6559eed8ca
13
fs/open.c
13
fs/open.c
@ -447,7 +447,7 @@ SYSCALL_ALIAS(sys_fallocate, SyS_fallocate);
|
||||
* We do this by temporarily clearing all FS-related capabilities and
|
||||
* 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;
|
||||
struct cred *override_cred;
|
||||
@ -628,8 +628,7 @@ out:
|
||||
return err;
|
||||
}
|
||||
|
||||
asmlinkage long sys_fchmodat(int dfd, const char __user *filename,
|
||||
mode_t mode)
|
||||
SYSCALL_DEFINE3(fchmodat, int, dfd, const char __user *, filename, mode_t, mode)
|
||||
{
|
||||
struct path path;
|
||||
struct inode *inode;
|
||||
@ -707,8 +706,8 @@ out:
|
||||
return error;
|
||||
}
|
||||
|
||||
asmlinkage long sys_fchownat(int dfd, const char __user *filename, uid_t user,
|
||||
gid_t group, int flag)
|
||||
SYSCALL_DEFINE5(fchownat, int, dfd, const char __user *, filename, uid_t, user,
|
||||
gid_t, group, int, flag)
|
||||
{
|
||||
struct path path;
|
||||
int error = -EINVAL;
|
||||
@ -1060,8 +1059,8 @@ SYSCALL_DEFINE3(open, const char __user *, filename, int, flags, int, mode)
|
||||
return ret;
|
||||
}
|
||||
|
||||
asmlinkage long sys_openat(int dfd, const char __user *filename, int flags,
|
||||
int mode)
|
||||
SYSCALL_DEFINE4(openat, int, dfd, const char __user *, filename, int, flags,
|
||||
int, mode)
|
||||
{
|
||||
long ret;
|
||||
|
||||
|
12
fs/stat.c
12
fs/stat.c
@ -260,8 +260,8 @@ SYSCALL_DEFINE2(newlstat, char __user *, filename, struct stat __user *, statbuf
|
||||
}
|
||||
|
||||
#if !defined(__ARCH_WANT_STAT64) || defined(__ARCH_WANT_SYS_NEWFSTATAT)
|
||||
asmlinkage long sys_newfstatat(int dfd, char __user *filename,
|
||||
struct stat __user *statbuf, int flag)
|
||||
SYSCALL_DEFINE4(newfstatat, int, dfd, char __user *, filename,
|
||||
struct stat __user *, statbuf, int, flag)
|
||||
{
|
||||
struct kstat stat;
|
||||
int error = -EINVAL;
|
||||
@ -293,8 +293,8 @@ SYSCALL_DEFINE2(newfstat, unsigned int, fd, struct stat __user *, statbuf)
|
||||
return error;
|
||||
}
|
||||
|
||||
asmlinkage long sys_readlinkat(int dfd, const char __user *pathname,
|
||||
char __user *buf, int bufsiz)
|
||||
SYSCALL_DEFINE4(readlinkat, int, dfd, const char __user *, pathname,
|
||||
char __user *, buf, int, bufsiz)
|
||||
{
|
||||
struct path path;
|
||||
int error;
|
||||
@ -400,8 +400,8 @@ SYSCALL_DEFINE2(fstat64, unsigned long, fd, struct stat64 __user *, statbuf)
|
||||
return error;
|
||||
}
|
||||
|
||||
asmlinkage long sys_fstatat64(int dfd, char __user *filename,
|
||||
struct stat64 __user *statbuf, int flag)
|
||||
SYSCALL_DEFINE4(fstatat64, int, dfd, char __user *, filename,
|
||||
struct stat64 __user *, statbuf, int, flag)
|
||||
{
|
||||
struct kstat stat;
|
||||
int error = -EINVAL;
|
||||
|
@ -170,7 +170,8 @@ out:
|
||||
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];
|
||||
|
||||
@ -187,7 +188,8 @@ asmlinkage long sys_utimensat(int dfd, char __user *filename, struct timespec __
|
||||
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 timespec tstimes[2];
|
||||
|
@ -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,
|
||||
* task_struct.
|
||||
*/
|
||||
asmlinkage long sys_unshare(unsigned long unshare_flags)
|
||||
SYSCALL_DEFINE1(unshare, unsigned long, unshare_flags)
|
||||
{
|
||||
int err = 0;
|
||||
struct fs_struct *fs, *new_fs = NULL;
|
||||
|
Loading…
Reference in New Issue
Block a user