upgrade to fedora-2.6.12-1.1398.FC4 + vserver 2.0.rc7
[linux-2.6.git] / arch / arm26 / kernel / ptrace.c
index b2aea03..5ed5983 100644 (file)
@@ -18,6 +18,7 @@
 #include <linux/ptrace.h>
 #include <linux/user.h>
 #include <linux/security.h>
+#include <linux/signal.h>
 
 #include <asm/uaccess.h>
 #include <asm/pgtable.h>
@@ -540,7 +541,7 @@ static int ptrace_getfpregs(struct task_struct *tsk, void *ufp)
  */
 static int ptrace_setfpregs(struct task_struct *tsk, void *ufp)
 {
-       tsk->used_math = 1;
+       set_stopped_child_used_math(tsk);
        return copy_from_user(&tsk->thread_info->fpstate, ufp,
                              sizeof(struct user_fp)) ? -EFAULT : 0;
 }
@@ -591,7 +592,7 @@ static int do_ptrace(int request, struct task_struct *child, long addr, long dat
                case PTRACE_SYSCALL:
                case PTRACE_CONT:
                        ret = -EIO;
-                       if ((unsigned long) data > _NSIG)
+                       if (!valid_signal(data))
                                break;
                        if (request == PTRACE_SYSCALL)
                                set_tsk_thread_flag(child, TIF_SYSCALL_TRACE);
@@ -626,7 +627,7 @@ static int do_ptrace(int request, struct task_struct *child, long addr, long dat
                 */
                case PTRACE_SINGLESTEP:
                        ret = -EIO;
-                       if ((unsigned long) data > _NSIG)
+                       if (!valid_signal(data))
                                break;
                        child->ptrace |= PT_SINGLESTEP;
                        clear_tsk_thread_flag(child, TIF_SYSCALL_TRACE);