diff options
author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2009-01-14 08:13:54 -0500 |
---|---|---|
committer | Heiko Carstens <heiko.carstens@de.ibm.com> | 2009-01-14 08:15:14 -0500 |
commit | 2ed7c03ec17779afb4fcfa3b8c61df61bd4879ba (patch) | |
tree | 4e0fefd574bab5470a02edf439727f472a9663c6 /kernel | |
parent | 4c696ba7982501d43dea11dbbaabd2aa8a19cc42 (diff) |
[CVE-2009-0029] Convert all system calls to return a long
Convert all system calls to return a long. This should be a NOP since all
converted types should have the same size anyway.
With the exception of sys_exit_group which returned void. But that doesn't
matter since the system call doesn't return.
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/exit.c | 4 | ||||
-rw-r--r-- | kernel/signal.c | 2 | ||||
-rw-r--r-- | kernel/timer.c | 2 |
3 files changed, 5 insertions, 3 deletions
diff --git a/kernel/exit.c b/kernel/exit.c index c7740fa3252c..fac9b040af2c 100644 --- a/kernel/exit.c +++ b/kernel/exit.c | |||
@@ -1182,9 +1182,11 @@ do_group_exit(int exit_code) | |||
1182 | * wait4()-ing process will get the correct exit code - even if this | 1182 | * wait4()-ing process will get the correct exit code - even if this |
1183 | * thread is not the thread group leader. | 1183 | * thread is not the thread group leader. |
1184 | */ | 1184 | */ |
1185 | asmlinkage void sys_exit_group(int error_code) | 1185 | asmlinkage long sys_exit_group(int error_code) |
1186 | { | 1186 | { |
1187 | do_group_exit((error_code & 0xff) << 8); | 1187 | do_group_exit((error_code & 0xff) << 8); |
1188 | /* NOTREACHED */ | ||
1189 | return 0; | ||
1188 | } | 1190 | } |
1189 | 1191 | ||
1190 | static struct pid *task_pid_type(struct task_struct *task, enum pid_type type) | 1192 | static struct pid *task_pid_type(struct task_struct *task, enum pid_type type) |
diff --git a/kernel/signal.c b/kernel/signal.c index 3152ac3b62e2..856a5479d49d 100644 --- a/kernel/signal.c +++ b/kernel/signal.c | |||
@@ -2559,7 +2559,7 @@ sys_ssetmask(int newmask) | |||
2559 | /* | 2559 | /* |
2560 | * For backwards compatibility. Functionality superseded by sigaction. | 2560 | * For backwards compatibility. Functionality superseded by sigaction. |
2561 | */ | 2561 | */ |
2562 | asmlinkage unsigned long | 2562 | asmlinkage long |
2563 | sys_signal(int sig, __sighandler_t handler) | 2563 | sys_signal(int sig, __sighandler_t handler) |
2564 | { | 2564 | { |
2565 | struct k_sigaction new_sa, old_sa; | 2565 | struct k_sigaction new_sa, old_sa; |
diff --git a/kernel/timer.c b/kernel/timer.c index dee3f641a7a7..7b8697d7f04d 100644 --- a/kernel/timer.c +++ b/kernel/timer.c | |||
@@ -1129,7 +1129,7 @@ void do_timer(unsigned long ticks) | |||
1129 | * For backwards compatibility? This can be done in libc so Alpha | 1129 | * For backwards compatibility? This can be done in libc so Alpha |
1130 | * and all newer ports shouldn't need it. | 1130 | * and all newer ports shouldn't need it. |
1131 | */ | 1131 | */ |
1132 | asmlinkage unsigned long sys_alarm(unsigned int seconds) | 1132 | asmlinkage long sys_alarm(unsigned int seconds) |
1133 | { | 1133 | { |
1134 | return alarm_setitimer(seconds); | 1134 | return alarm_setitimer(seconds); |
1135 | } | 1135 | } |