Kill context->ev_name, it is always eq to (ev_code >> 8) since the previous patch.
I think it makes sense to add another helper for "(event << 8) | signr", but I failed to invent the name. We can also kill context->signr, we can use (ev_code & 0xFF) byte instead. --- kernel/ptrace.c | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) --- PU/kernel/ptrace.c~69_KILL_EV_NAME 2009-10-06 02:00:51.000000000 +0200 +++ PU/kernel/ptrace.c 2009-10-06 02:04:07.000000000 +0200 @@ -30,7 +30,6 @@ struct ptrace_context { int signr; siginfo_t *siginfo; - int ev_name; int ev_code; unsigned long ev_mesg; @@ -46,12 +45,12 @@ struct ptrace_context { static inline bool ev_pending(struct ptrace_context *context) { - return context->ev_name != 0; + return context->ev_code != 0; } static inline int get_stop_code(struct ptrace_context *context) { - return context->ev_name; + return context->ev_code >> 8; } static inline struct ptrace_context * @@ -124,7 +123,6 @@ static u32 ptrace_report_exit(enum utrac WARN_ON(ev_pending(context)); - context->ev_name = PTRACE_EVENT_EXIT; context->ev_code = (PTRACE_EVENT_EXIT << 8) | SIGTRAP; context->ev_mesg = *code; @@ -197,14 +195,12 @@ static u32 ptrace_report_clone(enum utra // XXX: child->pid is wrong! use tracer's pid_ns if (event) { - context->ev_name = event; context->ev_code = (event << 8) | SIGTRAP; context->ev_mesg = child->pid; ret = UTRACE_STOP; } else if ((clone_flags & CLONE_VFORK) && (context->options & PTRACE_O_TRACEVFORKDONE)) { - context->ev_name = PTRACE_EVENT_VFORK_DONE; context->ev_code = (PTRACE_EVENT_VFORK_DONE << 8) | SIGTRAP; context->ev_mesg = child->pid; @@ -229,7 +225,6 @@ static u32 ptrace_report_syscall_entry(u WARN_ON(ev_pending(context)); - context->ev_name = PTRACE_EVENT_SYSCALL_ENTRY; context->ev_code = (PTRACE_EVENT_SYSCALL_ENTRY << 8) | syscall_code(context); @@ -246,7 +241,6 @@ static u32 ptrace_report_syscall_exit(en if (ev_pending(context)) return UTRACE_STOP; - context->ev_name = PTRACE_EVENT_SYSCALL_EXIT; context->ev_code = (PTRACE_EVENT_SYSCALL_EXIT << 8) | syscall_code(context); @@ -272,7 +266,6 @@ static u32 ptrace_report_exec(enum utrac return UTRACE_RESUME; } - context->ev_name = PTRACE_EVENT_EXEC; context->ev_code = (PTRACE_EVENT_EXEC << 8) | SIGTRAP; return UTRACE_STOP; @@ -334,7 +327,6 @@ static u32 ptrace_report_signal(u32 acti context->siginfo = NULL; if (resume != UTRACE_RESUME) { - context->ev_name = PTRACE_EVENT_SIGTRAP; context->ev_code = (PTRACE_EVENT_SIGTRAP << 8) | SIGTRAP; return UTRACE_STOP | UTRACE_SIGNAL_IGN; @@ -360,7 +352,6 @@ static u32 ptrace_report_signal(u32 acti */ utrace_control(task, engine, UTRACE_INTERRUPT); - context->ev_name = PTRACE_EVENT_SIGNAL; context->ev_code = (PTRACE_EVENT_SIGNAL << 8) | info->si_signo; context->signr = info->si_signo; @@ -945,7 +936,6 @@ static void do_ptrace_resume(struct utra case PTRACE_EVENT_FORK: case PTRACE_EVENT_CLONE: case PTRACE_EVENT_VFORK_DONE: - context->ev_name = PTRACE_EVENT_SYSCALL_EXIT; context->ev_code = (PTRACE_EVENT_SYSCALL_EXIT << 8) | syscall_code(context); do_ptrace_notify_stop(context, tracee); @@ -969,7 +959,7 @@ static void do_ptrace_resume(struct utra } } - context->ev_name = 0; + context->ev_code = 0; context->resume = action; ptrace_wake_up(engine, tracee, action); }