diff options
| author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2009-01-14 08:14:11 -0500 |
|---|---|---|
| committer | Heiko Carstens <heiko.carstens@de.ibm.com> | 2009-01-14 08:15:21 -0500 |
| commit | a5f8fa9e9ba5ef3305e147f41ad6e1e84ac1f0bd (patch) | |
| tree | a9bedc6890d6379f0839c280a20c5da3bd9f2352 /kernel | |
| parent | 17da2bd90abf428523de0fb98f7075e00e3ed42e (diff) | |
[CVE-2009-0029] System call wrappers part 09
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/signal.c | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/kernel/signal.c b/kernel/signal.c index 278cc8737f17..e2333929611a 100644 --- a/kernel/signal.c +++ b/kernel/signal.c | |||
| @@ -2279,7 +2279,7 @@ static int do_tkill(pid_t tgid, pid_t pid, int sig) | |||
| 2279 | * exists but it's not belonging to the target process anymore. This | 2279 | * exists but it's not belonging to the target process anymore. This |
| 2280 | * method solves the problem of threads exiting and PIDs getting reused. | 2280 | * method solves the problem of threads exiting and PIDs getting reused. |
| 2281 | */ | 2281 | */ |
| 2282 | asmlinkage long sys_tgkill(pid_t tgid, pid_t pid, int sig) | 2282 | SYSCALL_DEFINE3(tgkill, pid_t, tgid, pid_t, pid, int, sig) |
| 2283 | { | 2283 | { |
| 2284 | /* This is only valid for single tasks */ | 2284 | /* This is only valid for single tasks */ |
| 2285 | if (pid <= 0 || tgid <= 0) | 2285 | if (pid <= 0 || tgid <= 0) |
| @@ -2291,8 +2291,7 @@ asmlinkage long sys_tgkill(pid_t tgid, pid_t pid, int sig) | |||
| 2291 | /* | 2291 | /* |
| 2292 | * Send a signal to only one task, even if it's a CLONE_THREAD task. | 2292 | * Send a signal to only one task, even if it's a CLONE_THREAD task. |
| 2293 | */ | 2293 | */ |
| 2294 | asmlinkage long | 2294 | SYSCALL_DEFINE2(tkill, pid_t, pid, int, sig) |
| 2295 | sys_tkill(pid_t pid, int sig) | ||
| 2296 | { | 2295 | { |
| 2297 | /* This is only valid for single tasks */ | 2296 | /* This is only valid for single tasks */ |
| 2298 | if (pid <= 0) | 2297 | if (pid <= 0) |
| @@ -2301,8 +2300,8 @@ sys_tkill(pid_t pid, int sig) | |||
| 2301 | return do_tkill(0, pid, sig); | 2300 | return do_tkill(0, pid, sig); |
| 2302 | } | 2301 | } |
| 2303 | 2302 | ||
| 2304 | asmlinkage long | 2303 | SYSCALL_DEFINE3(rt_sigqueueinfo, pid_t, pid, int, sig, |
| 2305 | sys_rt_sigqueueinfo(pid_t pid, int sig, siginfo_t __user *uinfo) | 2304 | siginfo_t __user *, uinfo) |
| 2306 | { | 2305 | { |
| 2307 | siginfo_t info; | 2306 | siginfo_t info; |
| 2308 | 2307 | ||
| @@ -2526,15 +2525,13 @@ out: | |||
| 2526 | /* | 2525 | /* |
| 2527 | * For backwards compatibility. Functionality superseded by sigprocmask. | 2526 | * For backwards compatibility. Functionality superseded by sigprocmask. |
| 2528 | */ | 2527 | */ |
| 2529 | asmlinkage long | 2528 | SYSCALL_DEFINE0(sgetmask) |
| 2530 | sys_sgetmask(void) | ||
| 2531 | { | 2529 | { |
| 2532 | /* SMP safe */ | 2530 | /* SMP safe */ |
| 2533 | return current->blocked.sig[0]; | 2531 | return current->blocked.sig[0]; |
| 2534 | } | 2532 | } |
| 2535 | 2533 | ||
| 2536 | asmlinkage long | 2534 | SYSCALL_DEFINE1(ssetmask, int, newmask) |
| 2537 | sys_ssetmask(int newmask) | ||
| 2538 | { | 2535 | { |
| 2539 | int old; | 2536 | int old; |
| 2540 | 2537 | ||
| @@ -2554,8 +2551,7 @@ sys_ssetmask(int newmask) | |||
| 2554 | /* | 2551 | /* |
| 2555 | * For backwards compatibility. Functionality superseded by sigaction. | 2552 | * For backwards compatibility. Functionality superseded by sigaction. |
| 2556 | */ | 2553 | */ |
| 2557 | asmlinkage long | 2554 | SYSCALL_DEFINE2(signal, int, sig, __sighandler_t, handler) |
| 2558 | sys_signal(int sig, __sighandler_t handler) | ||
| 2559 | { | 2555 | { |
| 2560 | struct k_sigaction new_sa, old_sa; | 2556 | struct k_sigaction new_sa, old_sa; |
| 2561 | int ret; | 2557 | int ret; |
| @@ -2572,8 +2568,7 @@ sys_signal(int sig, __sighandler_t handler) | |||
| 2572 | 2568 | ||
| 2573 | #ifdef __ARCH_WANT_SYS_PAUSE | 2569 | #ifdef __ARCH_WANT_SYS_PAUSE |
| 2574 | 2570 | ||
| 2575 | asmlinkage long | 2571 | SYSCALL_DEFINE0(pause) |
| 2576 | sys_pause(void) | ||
| 2577 | { | 2572 | { |
| 2578 | current->state = TASK_INTERRUPTIBLE; | 2573 | current->state = TASK_INTERRUPTIBLE; |
| 2579 | schedule(); | 2574 | schedule(); |
