mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-21 06:01:23 +00:00
[CVE-2009-0029] System call wrappers part 24
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
This commit is contained in:
parent
5a8a82b1d3
commit
e48fbb699f
2 changed files with 13 additions and 12 deletions
13
kernel/sys.c
13
kernel/sys.c
|
@ -1395,7 +1395,7 @@ EXPORT_SYMBOL(in_egroup_p);
|
|||
|
||||
DECLARE_RWSEM(uts_sem);
|
||||
|
||||
asmlinkage long sys_newuname(struct new_utsname __user * name)
|
||||
SYSCALL_DEFINE1(newuname, struct new_utsname __user *, name)
|
||||
{
|
||||
int errno = 0;
|
||||
|
||||
|
@ -1478,7 +1478,7 @@ SYSCALL_DEFINE2(setdomainname, char __user *, name, int, len)
|
|||
return errno;
|
||||
}
|
||||
|
||||
asmlinkage long sys_getrlimit(unsigned int resource, struct rlimit __user *rlim)
|
||||
SYSCALL_DEFINE2(getrlimit, unsigned int, resource, struct rlimit __user *, rlim)
|
||||
{
|
||||
if (resource >= RLIM_NLIMITS)
|
||||
return -EINVAL;
|
||||
|
@ -1497,7 +1497,8 @@ asmlinkage long sys_getrlimit(unsigned int resource, struct rlimit __user *rlim)
|
|||
* Back compatibility for getrlimit. Needed for some apps.
|
||||
*/
|
||||
|
||||
asmlinkage long sys_old_getrlimit(unsigned int resource, struct rlimit __user *rlim)
|
||||
SYSCALL_DEFINE2(old_getrlimit, unsigned int, resource,
|
||||
struct rlimit __user *, rlim)
|
||||
{
|
||||
struct rlimit x;
|
||||
if (resource >= RLIM_NLIMITS)
|
||||
|
@ -1515,7 +1516,7 @@ asmlinkage long sys_old_getrlimit(unsigned int resource, struct rlimit __user *r
|
|||
|
||||
#endif
|
||||
|
||||
asmlinkage long sys_setrlimit(unsigned int resource, struct rlimit __user *rlim)
|
||||
SYSCALL_DEFINE2(setrlimit, unsigned int, resource, struct rlimit __user *, rlim)
|
||||
{
|
||||
struct rlimit new_rlim, *old_rlim;
|
||||
int retval;
|
||||
|
@ -1688,7 +1689,7 @@ int getrusage(struct task_struct *p, int who, struct rusage __user *ru)
|
|||
return copy_to_user(ru, &r, sizeof(r)) ? -EFAULT : 0;
|
||||
}
|
||||
|
||||
asmlinkage long sys_getrusage(int who, struct rusage __user *ru)
|
||||
SYSCALL_DEFINE2(getrusage, int, who, struct rusage __user *, ru)
|
||||
{
|
||||
if (who != RUSAGE_SELF && who != RUSAGE_CHILDREN &&
|
||||
who != RUSAGE_THREAD)
|
||||
|
@ -1696,7 +1697,7 @@ asmlinkage long sys_getrusage(int who, struct rusage __user *ru)
|
|||
return getrusage(current, who, ru);
|
||||
}
|
||||
|
||||
asmlinkage long sys_umask(int mask)
|
||||
SYSCALL_DEFINE1(umask, int, mask)
|
||||
{
|
||||
mask = xchg(¤t->fs->umask, mask & S_IRWXUGO);
|
||||
return mask;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue