Change ptrace_report_exit() to use ptrace_event.

---

 kernel/ptrace.c |   16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

--- PU/kernel/ptrace.c~41_REPORT_EXIT   2009-09-15 20:40:35.000000000 +0200
+++ PU/kernel/ptrace.c  2009-09-16 15:04:48.000000000 +0200
@@ -189,19 +189,19 @@ static u32 utrace_ptrace_report(u32 acti
        return action | UTRACE_STOP;
 }
 
-static u32 utrace_ptrace_event(struct task_struct *task,
-                              int event, unsigned long msg)
-{
-       task->ptrace_message = msg;
-       return utrace_ptrace_report(0, task, event, (event << 8) | SIGTRAP);
-}
-
 static u32 ptrace_report_exit(enum utrace_resume_action action,
                              struct utrace_engine *engine,
                              struct task_struct *task,
                              long orig_code, long *code)
 {
-       return utrace_ptrace_event(task, PTRACE_EVENT_EXIT, *code);
+       struct ptrace_context *context = ptrace_context(engine);
+       struct ptrace_event *ev;
+
+       ev = ev_push(context);
+       ev->ev_message = *code;
+       ev->ev_code = (PTRACE_EVENT_EXIT << 8) | SIGTRAP;
+
+       return UTRACE_STOP;
 }
 
 static void ptrace_clone_attach(struct task_struct *parent,

Reply via email to