vserver 1.9.3
[linux-2.6.git] / arch / m68k / kernel / ptrace.c
index 540f49c..0e0c31f 100644 (file)
@@ -158,7 +158,7 @@ asmlinkage int sys_ptrace(long request, long pid, long addr, long data)
 
        switch (request) {
        /* when I and D space are separate, these will need to be fixed. */
-               case PTRACE_PEEKTEXT: /* read word at location addr. */ 
+               case PTRACE_PEEKTEXT: /* read word at location addr. */
                case PTRACE_PEEKDATA: {
                        unsigned long tmp;
                        int copied;
@@ -174,12 +174,12 @@ asmlinkage int sys_ptrace(long request, long pid, long addr, long data)
        /* read the word at location addr in the USER area. */
                case PTRACE_PEEKUSR: {
                        unsigned long tmp;
-                       
+
                        ret = -EIO;
                        if ((addr & 3) || addr < 0 ||
                            addr > sizeof(struct user) - 3)
                                break;
-                       
+
                        tmp = 0;  /* Default return condition */
                        addr = addr >> 2; /* temporary hack. */
                        ret = -EIO;
@@ -219,7 +219,7 @@ asmlinkage int sys_ptrace(long request, long pid, long addr, long data)
                                break;
 
                        addr = addr >> 2; /* temporary hack. */
-                           
+
                        if (addr == PT_SR) {
                                data &= SR_MASK;
                                data <<= 16;
@@ -271,8 +271,8 @@ asmlinkage int sys_ptrace(long request, long pid, long addr, long data)
                }
 
 /*
- * make the child exit.  Best I can do is send it a sigkill. 
- * perhaps it should be put in the status that it wants to 
+ * make the child exit.  Best I can do is send it a sigkill.
+ * perhaps it should be put in the status that it wants to
  * exit.
  */
                case PTRACE_KILL: {
@@ -313,7 +313,7 @@ asmlinkage int sys_ptrace(long request, long pid, long addr, long data)
                        break;
 
                case PTRACE_GETREGS: { /* Get all gp regs from the child. */
-                       int i;
+                       int i;
                        unsigned long tmp;
                        for (i = 0; i < 19; i++) {
                            tmp = get_reg(child, i);
@@ -381,11 +381,8 @@ asmlinkage void syscall_trace(void)
        if (!current->thread.work.delayed_trace &&
            !current->thread.work.syscall_trace)
                return;
-       current->exit_code = SIGTRAP | ((current->ptrace & PT_TRACESYSGOOD)
-                                       ? 0x80 : 0);
-       current->state = TASK_STOPPED;
-       notify_parent(current, SIGCHLD);
-       schedule();
+       ptrace_notify(SIGTRAP | ((current->ptrace & PT_TRACESYSGOOD)
+                                ? 0x80 : 0));
        /*
         * this isn't the same as continuing with a signal, but it will do
         * for normal use.  strace only continues with a signal if the