[PATCH 30] remove the current PTRACE_EVENT_VFORK_DONE logic

2009-09-11 Thread Oleg Nesterov
Remove the current PTRACE_EVENT_VFORK_DONE logic, it doesn't really work anyway. I failed to finish the re-implementation today, hopefully will complete on weekend. But I have 2 questions: 1. I assume that, on every arch, we alway check TIF_NOTIFY_RESUME and TIF_SIGPENDING befo

[PATCH 29] ptrace_wake_up: fix the "compatibility bug" logic

2009-09-11 Thread Oleg Nesterov
I blindly copied this code from ptrace_resume() but it is wrong. task_is_stopped() can never be true, and we must not use ->sighand directly. Since the tracee should be TRACED or killed we do not check tracee->state at all. Fixes a couple of tests... --- kernel/ptrace.c | 18 ++---

Q: ptrace && ->last_siginfo

2009-09-11 Thread Oleg Nesterov
Now I realized I don't really understand what ->last_siginfo is. Of course, get_signal_to_deliver() case is clear. But I don't understand why ptrace_notify() setups ->last_siginfo? (I am talking about the currrent !utrace code). What for? OK, I guess .si_code = exit_code is useful, and we should

[PATCH] move ->reporting from struct utrace to utrace_engine

2009-09-11 Thread Oleg Nesterov
I still need to review (and understand ;) the ->reporting logic/barriers and continue the related discussion. But can't we move ->reporting from utrace to engine? This saves a word in task_struct. Yes, this adds the same word to engine, but we should optimize the common untraced case. Or do you h