git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vserver 2.0 rc7
[linux-2.6.git]
/
arch
/
parisc
/
kernel
/
ptrace.c
diff --git
a/arch/parisc/kernel/ptrace.c
b/arch/parisc/kernel/ptrace.c
index
0b8debf
..
52de7f0
100644
(file)
--- a/
arch/parisc/kernel/ptrace.c
+++ b/
arch/parisc/kernel/ptrace.c
@@
-17,6
+17,7
@@
#include <linux/personality.h>
#include <linux/security.h>
#include <linux/compat.h>
#include <linux/personality.h>
#include <linux/security.h>
#include <linux/compat.h>
+#include <linux/signal.h>
#include <asm/uaccess.h>
#include <asm/pgtable.h>
#include <asm/uaccess.h>
#include <asm/pgtable.h>
@@
-288,7
+289,7
@@
long sys_ptrace(long request, pid_t pid, long addr, long data)
ret = -EIO;
DBG("sys_ptrace(%s)\n",
request == PTRACE_SYSCALL ? "SYSCALL" : "CONT");
ret = -EIO;
DBG("sys_ptrace(%s)\n",
request == PTRACE_SYSCALL ? "SYSCALL" : "CONT");
- if (
(unsigned long) data > _NSIG
)
+ if (
!valid_signal(data)
)
goto out_tsk;
child->ptrace &= ~(PT_SINGLESTEP|PT_BLOCKSTEP);
if (request == PTRACE_SYSCALL) {
goto out_tsk;
child->ptrace &= ~(PT_SINGLESTEP|PT_BLOCKSTEP);
if (request == PTRACE_SYSCALL) {
@@
-314,7
+315,7
@@
long sys_ptrace(long request, pid_t pid, long addr, long data)
case PTRACE_SINGLEBLOCK:
DBG("sys_ptrace(SINGLEBLOCK)\n");
ret = -EIO;
case PTRACE_SINGLEBLOCK:
DBG("sys_ptrace(SINGLEBLOCK)\n");
ret = -EIO;
- if (
(unsigned long) data > _NSIG
)
+ if (
!valid_signal(data)
)
goto out_tsk;
clear_tsk_thread_flag(child, TIF_SYSCALL_TRACE);
child->ptrace &= ~PT_SINGLESTEP;
goto out_tsk;
clear_tsk_thread_flag(child, TIF_SYSCALL_TRACE);
child->ptrace &= ~PT_SINGLESTEP;
@@
-331,7
+332,7
@@
long sys_ptrace(long request, pid_t pid, long addr, long data)
case PTRACE_SINGLESTEP:
DBG("sys_ptrace(SINGLESTEP)\n");
ret = -EIO;
case PTRACE_SINGLESTEP:
DBG("sys_ptrace(SINGLESTEP)\n");
ret = -EIO;
- if (
(unsigned long) data > _NSIG
)
+ if (
!valid_signal(data)
)
goto out_tsk;
clear_tsk_thread_flag(child, TIF_SYSCALL_TRACE);
goto out_tsk;
clear_tsk_thread_flag(child, TIF_SYSCALL_TRACE);