fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / arch / sparc / kernel / ptrace.c
index bc1baed..11cf861 100644 (file)
@@ -19,6 +19,7 @@
 #include <linux/smp_lock.h>
 #include <linux/security.h>
 #include <linux/signal.h>
+#include <linux/vs_base.h>
 
 #include <asm/pgtable.h>
 #include <asm/system.h>
@@ -289,7 +290,10 @@ asmlinkage void do_ptrace(struct pt_regs *regs)
 
        if (request == PTRACE_TRACEME) {
                ret = ptrace_traceme();
-               pt_succ_return(regs, 0);
+               if (ret < 0)
+                       pt_error_return(regs, -ret);
+               else
+                       pt_succ_return(regs, 0);
                goto out;
        }
 
@@ -299,7 +303,7 @@ asmlinkage void do_ptrace(struct pt_regs *regs)
                pt_error_return(regs, -ret);
                goto out;
        }
-       if (!vx_check(vx_task_xid(child), VX_WATCH|VX_IDENT)) {
+       if (!vx_check(vx_task_xid(child), VS_WATCH_P|VS_IDENT)) {
                pt_error_return(regs, ESRCH);
                goto out_tsk;
        }