diff options
Diffstat (limited to 'arch/ia64/kernel/ptrace.c')
-rw-r--r-- | arch/ia64/kernel/ptrace.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/ia64/kernel/ptrace.c b/arch/ia64/kernel/ptrace.c index 8dde0b16d4c8..907464ee7273 100644 --- a/arch/ia64/kernel/ptrace.c +++ b/arch/ia64/kernel/ptrace.c | |||
@@ -17,6 +17,7 @@ | |||
17 | #include <linux/user.h> | 17 | #include <linux/user.h> |
18 | #include <linux/security.h> | 18 | #include <linux/security.h> |
19 | #include <linux/audit.h> | 19 | #include <linux/audit.h> |
20 | #include <linux/signal.h> | ||
20 | 21 | ||
21 | #include <asm/pgtable.h> | 22 | #include <asm/pgtable.h> |
22 | #include <asm/processor.h> | 23 | #include <asm/processor.h> |
@@ -1481,7 +1482,7 @@ sys_ptrace (long request, pid_t pid, unsigned long addr, unsigned long data) | |||
1481 | case PTRACE_CONT: | 1482 | case PTRACE_CONT: |
1482 | /* restart after signal. */ | 1483 | /* restart after signal. */ |
1483 | ret = -EIO; | 1484 | ret = -EIO; |
1484 | if (data > _NSIG) | 1485 | if (!valid_signal(data)) |
1485 | goto out_tsk; | 1486 | goto out_tsk; |
1486 | if (request == PTRACE_SYSCALL) | 1487 | if (request == PTRACE_SYSCALL) |
1487 | set_tsk_thread_flag(child, TIF_SYSCALL_TRACE); | 1488 | set_tsk_thread_flag(child, TIF_SYSCALL_TRACE); |
@@ -1520,7 +1521,7 @@ sys_ptrace (long request, pid_t pid, unsigned long addr, unsigned long data) | |||
1520 | /* let child execute for one instruction */ | 1521 | /* let child execute for one instruction */ |
1521 | case PTRACE_SINGLEBLOCK: | 1522 | case PTRACE_SINGLEBLOCK: |
1522 | ret = -EIO; | 1523 | ret = -EIO; |
1523 | if (data > _NSIG) | 1524 | if (!valid_signal(data)) |
1524 | goto out_tsk; | 1525 | goto out_tsk; |
1525 | 1526 | ||
1526 | clear_tsk_thread_flag(child, TIF_SYSCALL_TRACE); | 1527 | clear_tsk_thread_flag(child, TIF_SYSCALL_TRACE); |