aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2009-01-14 08:14:06 -0500
committerHeiko Carstens <heiko.carstens@de.ibm.com>2009-01-14 08:15:19 -0500
commitb290ebe2c46d01b742b948ce03f09e8a3efb9a92 (patch)
tree4419602f911a8205de2160c56a0ff844f350557e
parentae1251ab785f6da87219df8352ffdac68bba23e4 (diff)
[CVE-2009-0029] System call wrappers part 04
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
-rw-r--r--kernel/acct.c2
-rw-r--r--kernel/capability.c4
-rw-r--r--kernel/exec_domain.c3
-rw-r--r--kernel/itimer.c2
-rw-r--r--kernel/signal.c7
-rw-r--r--kernel/sys.c6
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 */
280asmlinkage long sys_acct(const char __user *name) 280SYSCALL_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 */
164asmlinkage long sys_capget(cap_user_header_t header, cap_user_data_t dataptr) 164SYSCALL_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 */
238asmlinkage long sys_capset(cap_user_header_t header, const cap_user_data_t data) 238SYSCALL_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)
209module_init(proc_execdomains_init); 209module_init(proc_execdomains_init);
210#endif 210#endif
211 211
212asmlinkage long 212SYSCALL_DEFINE1(personality, u_long, personality)
213sys_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
103asmlinkage long sys_getitimer(int which, struct itimerval __user *value) 103SYSCALL_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
2437asmlinkage long 2437SYSCALL_DEFINE1(sigpending, old_sigset_t __user *, set)
2438sys_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
2449asmlinkage long 2448SYSCALL_DEFINE3(sigprocmask, int, how, old_sigset_t __user *, set,
2450sys_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 */
947asmlinkage long sys_setpgid(pid_t pid, pid_t pgid) 947SYSCALL_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
1083asmlinkage long sys_setsid(void) 1083SYSCALL_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
1343asmlinkage long sys_setgroups(int gidsetsize, gid_t __user *grouplist) 1343SYSCALL_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;