[PATCH 0/5] ptrace-utrace: fix exit_ptrace() vs ptrace_report_signal() races
In short: exit_ptrace()-ptrace_detach_task() is very wrong when it tries to detach the !stopped tracee, we can not trust get_stop_event() in this case. This means that in the case like ptrace(PTRACE_CONT, ..., SIGXXX); exit(); // --- calls ptrace_detach_task() the tracee can miss SIGXXX if ptrace_detach_task() does utrace_control(UTRACE_DETACH) before the tracee calls -report_signal(). 5/5 is the actual fix. 1-4 are preparations to simplify the review and document the changes. Oleg.
Re: [PATCH 0/5] ptrace-utrace: fix exit_ptrace() vs ptrace_report_signal() races
I've merged these patches to the utrace-ptrace branch, now merged up to 2.6.37-rc5, and also the 2.6.34 and 2.6.35 backport branches. The 2.6.33 backport branch is no longer being maintained. I didn't update the 2.6.36 backport branch and probably won't maintain it unless some Fedora release starts using that kernel version (rawhide is already on 2.6.37-rc5 now). Thanks, Roland