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
/
m68knommu
/
kernel
/
ptrace.c
diff --git
a/arch/m68knommu/kernel/ptrace.c
b/arch/m68knommu/kernel/ptrace.c
index
0c57f87
..
9276a05
100644
(file)
--- a/
arch/m68knommu/kernel/ptrace.c
+++ b/
arch/m68knommu/kernel/ptrace.c
@@
-135,13
+135,6
@@
asmlinkage int sys_ptrace(long request, long pid, long addr, long data)
ret = ptrace_attach(child);
goto out_tsk;
}
ret = ptrace_attach(child);
goto out_tsk;
}
- ret = -ESRCH;
- if (!(child->ptrace & PT_PTRACED))
- goto out_tsk;
- if (child->state != TASK_STOPPED) {
- if (request != PTRACE_KILL)
- goto out_tsk;
- }
ret = ptrace_check_attach(child, request == PTRACE_KILL);
if (ret < 0)
goto out_tsk;
ret = ptrace_check_attach(child, request == PTRACE_KILL);
if (ret < 0)
goto out_tsk;
@@
-378,10
+371,8
@@
asmlinkage void syscall_trace(void)
return;
if (!(current->ptrace & PT_PTRACED))
return;
return;
if (!(current->ptrace & PT_PTRACED))
return;
- current->exit_code = SIGTRAP;
- 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