diff options
author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2009-01-14 08:14:06 -0500 |
---|---|---|
committer | Heiko Carstens <heiko.carstens@de.ibm.com> | 2009-01-14 08:15:19 -0500 |
commit | b290ebe2c46d01b742b948ce03f09e8a3efb9a92 (patch) | |
tree | 4419602f911a8205de2160c56a0ff844f350557e | |
parent | ae1251ab785f6da87219df8352ffdac68bba23e4 (diff) |
[CVE-2009-0029] System call wrappers part 04
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
-rw-r--r-- | kernel/acct.c | 2 | ||||
-rw-r--r-- | kernel/capability.c | 4 | ||||
-rw-r--r-- | kernel/exec_domain.c | 3 | ||||
-rw-r--r-- | kernel/itimer.c | 2 | ||||
-rw-r--r-- | kernel/signal.c | 7 | ||||
-rw-r--r-- | kernel/sys.c | 6 |
6 files changed, 11 insertions, 13 deletions
diff --git a/kernel/acct.c b/kernel/acct.c index d57b7cbb98b6..7afa31564162 100644 --- a/kernel/acct.c +++ b/kernel/acct.c | |||
@@ -277,7 +277,7 @@ static int acct_on(char *name) | |||
277 | * should be written. If the filename is NULL, accounting will be | 277 | * should be written. If the filename is NULL, accounting will be |
278 | * shutdown. | 278 | * shutdown. |
279 | */ | 279 | */ |
280 | asmlinkage long sys_acct(const char __user *name) | 280 | SYSCALL_DEFINE1(acct, const char __user *, name) |
281 | { | 281 | { |
282 | int error; | 282 | int error; |
283 | 283 | ||
diff --git a/kernel/capability.c b/kernel/capability.c index 688926e496be..4e17041963f5 100644 --- a/kernel/capability.c +++ b/kernel/capability.c | |||
@@ -161,7 +161,7 @@ static inline int cap_get_target_pid(pid_t pid, kernel_cap_t *pEp, | |||
161 | * | 161 | * |
162 | * Returns 0 on success and < 0 on error. | 162 | * Returns 0 on success and < 0 on error. |
163 | */ | 163 | */ |
164 | asmlinkage long sys_capget(cap_user_header_t header, cap_user_data_t dataptr) | 164 | SYSCALL_DEFINE2(capget, cap_user_header_t, header, cap_user_data_t, dataptr) |
165 | { | 165 | { |
166 | int ret = 0; | 166 | int ret = 0; |
167 | pid_t pid; | 167 | pid_t pid; |
@@ -235,7 +235,7 @@ asmlinkage long sys_capget(cap_user_header_t header, cap_user_data_t dataptr) | |||
235 | * | 235 | * |
236 | * Returns 0 on success and < 0 on error. | 236 | * Returns 0 on success and < 0 on error. |
237 | */ | 237 | */ |
238 | asmlinkage long sys_capset(cap_user_header_t header, const cap_user_data_t data) | 238 | SYSCALL_DEFINE2(capset, cap_user_header_t, header, const cap_user_data_t, data) |
239 | { | 239 | { |
240 | struct __user_cap_data_struct kdata[_KERNEL_CAPABILITY_U32S]; | 240 | struct __user_cap_data_struct kdata[_KERNEL_CAPABILITY_U32S]; |
241 | unsigned i, tocopy; | 241 | unsigned i, tocopy; |
diff --git a/kernel/exec_domain.c b/kernel/exec_domain.c index 0511716e9424..667c841c2952 100644 --- a/kernel/exec_domain.c +++ b/kernel/exec_domain.c | |||
@@ -209,8 +209,7 @@ static int __init proc_execdomains_init(void) | |||
209 | module_init(proc_execdomains_init); | 209 | module_init(proc_execdomains_init); |
210 | #endif | 210 | #endif |
211 | 211 | ||
212 | asmlinkage long | 212 | SYSCALL_DEFINE1(personality, u_long, personality) |
213 | sys_personality(u_long personality) | ||
214 | { | 213 | { |
215 | u_long old = current->personality; | 214 | u_long old = current->personality; |
216 | 215 | ||
diff --git a/kernel/itimer.c b/kernel/itimer.c index db7c358b9a02..7e0663ea94fc 100644 --- a/kernel/itimer.c +++ b/kernel/itimer.c | |||
@@ -100,7 +100,7 @@ int do_getitimer(int which, struct itimerval *value) | |||
100 | return 0; | 100 | return 0; |
101 | } | 101 | } |
102 | 102 | ||
103 | asmlinkage long sys_getitimer(int which, struct itimerval __user *value) | 103 | SYSCALL_DEFINE2(getitimer, int, which, struct itimerval __user *, value) |
104 | { | 104 | { |
105 | int error = -EFAULT; | 105 | int error = -EFAULT; |
106 | struct itimerval get_buffer; | 106 | struct itimerval get_buffer; |
diff --git a/kernel/signal.c b/kernel/signal.c index 856a5479d49d..3fe08eaa5dea 100644 --- a/kernel/signal.c +++ b/kernel/signal.c | |||
@@ -2434,8 +2434,7 @@ out: | |||
2434 | 2434 | ||
2435 | #ifdef __ARCH_WANT_SYS_SIGPENDING | 2435 | #ifdef __ARCH_WANT_SYS_SIGPENDING |
2436 | 2436 | ||
2437 | asmlinkage long | 2437 | SYSCALL_DEFINE1(sigpending, old_sigset_t __user *, set) |
2438 | sys_sigpending(old_sigset_t __user *set) | ||
2439 | { | 2438 | { |
2440 | return do_sigpending(set, sizeof(*set)); | 2439 | return do_sigpending(set, sizeof(*set)); |
2441 | } | 2440 | } |
@@ -2446,8 +2445,8 @@ sys_sigpending(old_sigset_t __user *set) | |||
2446 | /* Some platforms have their own version with special arguments others | 2445 | /* Some platforms have their own version with special arguments others |
2447 | support only sys_rt_sigprocmask. */ | 2446 | support only sys_rt_sigprocmask. */ |
2448 | 2447 | ||
2449 | asmlinkage long | 2448 | SYSCALL_DEFINE3(sigprocmask, int, how, old_sigset_t __user *, set, |
2450 | sys_sigprocmask(int how, old_sigset_t __user *set, old_sigset_t __user *oset) | 2449 | old_sigset_t __user *, oset) |
2451 | { | 2450 | { |
2452 | int error; | 2451 | int error; |
2453 | old_sigset_t old_set, new_set; | 2452 | old_sigset_t old_set, new_set; |
diff --git a/kernel/sys.c b/kernel/sys.c index ace9ced598b9..cbe4502c28a1 100644 --- a/kernel/sys.c +++ b/kernel/sys.c | |||
@@ -944,7 +944,7 @@ SYSCALL_DEFINE1(times, struct tms __user *, tbuf) | |||
944 | * Auch. Had to add the 'did_exec' flag to conform completely to POSIX. | 944 | * Auch. Had to add the 'did_exec' flag to conform completely to POSIX. |
945 | * LBT 04.03.94 | 945 | * LBT 04.03.94 |
946 | */ | 946 | */ |
947 | asmlinkage long sys_setpgid(pid_t pid, pid_t pgid) | 947 | SYSCALL_DEFINE2(setpgid, pid_t, pid, pid_t, pgid) |
948 | { | 948 | { |
949 | struct task_struct *p; | 949 | struct task_struct *p; |
950 | struct task_struct *group_leader = current->group_leader; | 950 | struct task_struct *group_leader = current->group_leader; |
@@ -1080,7 +1080,7 @@ out: | |||
1080 | return retval; | 1080 | return retval; |
1081 | } | 1081 | } |
1082 | 1082 | ||
1083 | asmlinkage long sys_setsid(void) | 1083 | SYSCALL_DEFINE0(setsid) |
1084 | { | 1084 | { |
1085 | struct task_struct *group_leader = current->group_leader; | 1085 | struct task_struct *group_leader = current->group_leader; |
1086 | struct pid *sid = task_pid(group_leader); | 1086 | struct pid *sid = task_pid(group_leader); |
@@ -1340,7 +1340,7 @@ out: | |||
1340 | * without another task interfering. | 1340 | * without another task interfering. |
1341 | */ | 1341 | */ |
1342 | 1342 | ||
1343 | asmlinkage long sys_setgroups(int gidsetsize, gid_t __user *grouplist) | 1343 | SYSCALL_DEFINE2(setgroups, int, gidsetsize, gid_t __user *, grouplist) |
1344 | { | 1344 | { |
1345 | struct group_info *group_info; | 1345 | struct group_info *group_info; |
1346 | int retval; | 1346 | int retval; |