I think ptrace_report_signal() is mostly finished. Unlike vanilla kernel, the tracer fixups the context of ->siginfo if we change si_signo, not the tracee. task_pid_vnr() is not namespace friendly, but I think we don't care. At least now.
And the question: ptrace_report_signal: /* * If the (new) signal is now blocked, requeue it. */ if (sigismember(&task->blocked, info->si_signo)) { send_sig_info(info->si_signo, info, task); return resume | UTRACE_SIGNAL_IGN; } This was copy-and-pasted from the old code. Shouldn't we rely use UTRACE_SIGNAL_HOLD instead ? Oleg.