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 1.9.3
[linux-2.6.git]
/
arch
/
parisc
/
kernel
/
ptrace.c
diff --git
a/arch/parisc/kernel/ptrace.c
b/arch/parisc/kernel/ptrace.c
index
514e8b5
..
871d785
100644
(file)
--- a/
arch/parisc/kernel/ptrace.c
+++ b/
arch/parisc/kernel/ptrace.c
@@
-110,6
+110,9
@@
long sys_ptrace(long request, pid_t pid, long addr, long data)
read_unlock(&tasklist_lock);
if (!child)
goto out;
read_unlock(&tasklist_lock);
if (!child)
goto out;
+ if (!vx_check(vx_task_xid(child), VX_WATCH|VX_IDENT))
+ goto out_tsk;
+
ret = -EPERM;
if (pid == 1) /* no messing around with init! */
goto out_tsk;
ret = -EPERM;
if (pid == 1) /* no messing around with init! */
goto out_tsk;
@@
-404,11
+407,8
@@
void syscall_trace(void)
return;
if (!(current->ptrace & PT_PTRACED))
return;
return;
if (!(current->ptrace & PT_PTRACED))
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
/*
* 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