mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-12-29 09:16:33 +00:00
[CVE-2009-0029] System call wrappers part 19
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
This commit is contained in:
parent
a6b42e83f2
commit
003d7ab479
@ -147,7 +147,7 @@ loff_t vfs_llseek(struct file *file, loff_t offset, int origin)
|
||||
}
|
||||
EXPORT_SYMBOL(vfs_llseek);
|
||||
|
||||
asmlinkage long sys_lseek(unsigned int fd, off_t offset, unsigned int origin)
|
||||
SYSCALL_DEFINE3(lseek, unsigned int, fd, off_t, offset, unsigned int, origin)
|
||||
{
|
||||
off_t retval;
|
||||
struct file * file;
|
||||
@ -171,9 +171,9 @@ asmlinkage long sys_lseek(unsigned int fd, off_t offset, unsigned int origin)
|
||||
}
|
||||
|
||||
#ifdef __ARCH_WANT_SYS_LLSEEK
|
||||
asmlinkage long sys_llseek(unsigned int fd, unsigned long offset_high,
|
||||
unsigned long offset_low, loff_t __user * result,
|
||||
unsigned int origin)
|
||||
SYSCALL_DEFINE5(llseek, unsigned int, fd, unsigned long, offset_high,
|
||||
unsigned long, offset_low, loff_t __user *, result,
|
||||
unsigned int, origin)
|
||||
{
|
||||
int retval;
|
||||
struct file * file;
|
||||
|
@ -24,7 +24,7 @@
|
||||
* must be owner or have write permission.
|
||||
* Else, update from *times, must be owner or super user.
|
||||
*/
|
||||
asmlinkage long sys_utime(char __user *filename, struct utimbuf __user *times)
|
||||
SYSCALL_DEFINE2(utime, char __user *, filename, struct utimbuf __user *, times)
|
||||
{
|
||||
struct timespec tv[2];
|
||||
|
||||
@ -214,7 +214,8 @@ asmlinkage long sys_futimesat(int dfd, char __user *filename, struct timeval __u
|
||||
return do_utimes(dfd, filename, utimes ? tstimes : NULL, 0);
|
||||
}
|
||||
|
||||
asmlinkage long sys_utimes(char __user *filename, struct timeval __user *utimes)
|
||||
SYSCALL_DEFINE2(utimes, char __user *, filename,
|
||||
struct timeval __user *, utimes)
|
||||
{
|
||||
return sys_futimesat(AT_FDCWD, filename, utimes);
|
||||
}
|
||||
|
@ -162,7 +162,7 @@ static int groups16_from_user(struct group_info *group_info,
|
||||
return 0;
|
||||
}
|
||||
|
||||
asmlinkage long sys_getgroups16(int gidsetsize, old_gid_t __user *grouplist)
|
||||
SYSCALL_DEFINE2(getgroups16, int, gidsetsize, old_gid_t __user *, grouplist)
|
||||
{
|
||||
const struct cred *cred = current_cred();
|
||||
int i;
|
||||
@ -185,7 +185,7 @@ asmlinkage long sys_getgroups16(int gidsetsize, old_gid_t __user *grouplist)
|
||||
return i;
|
||||
}
|
||||
|
||||
asmlinkage long sys_setgroups16(int gidsetsize, old_gid_t __user *grouplist)
|
||||
SYSCALL_DEFINE2(setgroups16, int, gidsetsize, old_gid_t __user *, grouplist)
|
||||
{
|
||||
struct group_info *group_info;
|
||||
int retval;
|
||||
@ -210,22 +210,22 @@ asmlinkage long sys_setgroups16(int gidsetsize, old_gid_t __user *grouplist)
|
||||
return retval;
|
||||
}
|
||||
|
||||
asmlinkage long sys_getuid16(void)
|
||||
SYSCALL_DEFINE0(getuid16)
|
||||
{
|
||||
return high2lowuid(current_uid());
|
||||
}
|
||||
|
||||
asmlinkage long sys_geteuid16(void)
|
||||
SYSCALL_DEFINE0(geteuid16)
|
||||
{
|
||||
return high2lowuid(current_euid());
|
||||
}
|
||||
|
||||
asmlinkage long sys_getgid16(void)
|
||||
SYSCALL_DEFINE0(getgid16)
|
||||
{
|
||||
return high2lowgid(current_gid());
|
||||
}
|
||||
|
||||
asmlinkage long sys_getegid16(void)
|
||||
SYSCALL_DEFINE0(getegid16)
|
||||
{
|
||||
return high2lowgid(current_egid());
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user