aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2009-01-14 08:14:26 -0500
committerHeiko Carstens <heiko.carstens@de.ibm.com>2009-01-14 08:15:28 -0500
commite48fbb699f82ef1e80bd7126046394d2dc9ca7e6 (patch)
treed361155949c3c31724946a6d619ece7a093e30a1 /kernel
parent5a8a82b1d306a325d899b67715618413657efda4 (diff)
[CVE-2009-0029] System call wrappers part 24
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/sys.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/kernel/sys.c b/kernel/sys.c
index 5292f2119da4..70ffa8408cd4 100644
--- a/kernel/sys.c
+++ b/kernel/sys.c
@@ -1395,7 +1395,7 @@ EXPORT_SYMBOL(in_egroup_p);
1395 1395
1396DECLARE_RWSEM(uts_sem); 1396DECLARE_RWSEM(uts_sem);
1397 1397
1398asmlinkage long sys_newuname(struct new_utsname __user * name) 1398SYSCALL_DEFINE1(newuname, struct new_utsname __user *, name)
1399{ 1399{
1400 int errno = 0; 1400 int errno = 0;
1401 1401
@@ -1478,7 +1478,7 @@ SYSCALL_DEFINE2(setdomainname, char __user *, name, int, len)
1478 return errno; 1478 return errno;
1479} 1479}
1480 1480
1481asmlinkage long sys_getrlimit(unsigned int resource, struct rlimit __user *rlim) 1481SYSCALL_DEFINE2(getrlimit, unsigned int, resource, struct rlimit __user *, rlim)
1482{ 1482{
1483 if (resource >= RLIM_NLIMITS) 1483 if (resource >= RLIM_NLIMITS)
1484 return -EINVAL; 1484 return -EINVAL;
@@ -1497,7 +1497,8 @@ asmlinkage long sys_getrlimit(unsigned int resource, struct rlimit __user *rlim)
1497 * Back compatibility for getrlimit. Needed for some apps. 1497 * Back compatibility for getrlimit. Needed for some apps.
1498 */ 1498 */
1499 1499
1500asmlinkage long sys_old_getrlimit(unsigned int resource, struct rlimit __user *rlim) 1500SYSCALL_DEFINE2(old_getrlimit, unsigned int, resource,
1501 struct rlimit __user *, rlim)
1501{ 1502{
1502 struct rlimit x; 1503 struct rlimit x;
1503 if (resource >= RLIM_NLIMITS) 1504 if (resource >= RLIM_NLIMITS)
@@ -1515,7 +1516,7 @@ asmlinkage long sys_old_getrlimit(unsigned int resource, struct rlimit __user *r
1515 1516
1516#endif 1517#endif
1517 1518
1518asmlinkage long sys_setrlimit(unsigned int resource, struct rlimit __user *rlim) 1519SYSCALL_DEFINE2(setrlimit, unsigned int, resource, struct rlimit __user *, rlim)
1519{ 1520{
1520 struct rlimit new_rlim, *old_rlim; 1521 struct rlimit new_rlim, *old_rlim;
1521 int retval; 1522 int retval;
@@ -1688,7 +1689,7 @@ int getrusage(struct task_struct *p, int who, struct rusage __user *ru)
1688 return copy_to_user(ru, &r, sizeof(r)) ? -EFAULT : 0; 1689 return copy_to_user(ru, &r, sizeof(r)) ? -EFAULT : 0;
1689} 1690}
1690 1691
1691asmlinkage long sys_getrusage(int who, struct rusage __user *ru) 1692SYSCALL_DEFINE2(getrusage, int, who, struct rusage __user *, ru)
1692{ 1693{
1693 if (who != RUSAGE_SELF && who != RUSAGE_CHILDREN && 1694 if (who != RUSAGE_SELF && who != RUSAGE_CHILDREN &&
1694 who != RUSAGE_THREAD) 1695 who != RUSAGE_THREAD)
@@ -1696,7 +1697,7 @@ asmlinkage long sys_getrusage(int who, struct rusage __user *ru)
1696 return getrusage(current, who, ru); 1697 return getrusage(current, who, ru);
1697} 1698}
1698 1699
1699asmlinkage long sys_umask(int mask) 1700SYSCALL_DEFINE1(umask, int, mask)
1700{ 1701{
1701 mask = xchg(&current->fs->umask, mask & S_IRWXUGO); 1702 mask = xchg(&current->fs->umask, mask & S_IRWXUGO);
1702 return mask; 1703 return mask;