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.5.x5
[linux-2.6.git]
/
arch
/
ppc64
/
kernel
/
ptrace.c
diff --git
a/arch/ppc64/kernel/ptrace.c
b/arch/ppc64/kernel/ptrace.c
index
9c3d2f5
..
93d073f
100644
(file)
--- a/
arch/ppc64/kernel/ptrace.c
+++ b/
arch/ppc64/kernel/ptrace.c
@@
-184,7
+184,7
@@
int sys_ptrace(long request, long pid, long addr, long data)
*/
case PTRACE_KILL: {
ret = 0;
*/
case PTRACE_KILL: {
ret = 0;
- if (child->
state == TASK_ZOMBIE)
/* already dead */
+ if (child->
exit_state == EXIT_ZOMBIE)
/* already dead */
break;
child->exit_code = SIGKILL;
/* make sure the single step bit is not set. */
break;
child->exit_code = SIGKILL;
/* make sure the single step bit is not set. */
@@
-315,12
+315,13
@@
void do_syscall_trace_enter(struct pt_regs *regs)
do_syscall_trace();
}
do_syscall_trace();
}
-void do_syscall_trace_leave(
void
)
+void do_syscall_trace_leave(
struct pt_regs *regs
)
{
if (unlikely(current->audit_context))
{
if (unlikely(current->audit_context))
- audit_syscall_exit(current,
0); /* FIXME: pass pt_regs */
+ audit_syscall_exit(current,
regs->result);
- if (test_thread_flag(TIF_SYSCALL_TRACE)
+ if ((test_thread_flag(TIF_SYSCALL_TRACE)
+ || test_thread_flag(TIF_SINGLESTEP))
&& (current->ptrace & PT_PTRACED))
do_syscall_trace();
}
&& (current->ptrace & PT_PTRACED))
do_syscall_trace();
}