> Yes, I think this is correct. It is fine to miss ->pending_attach == T, > and in any case the new attacher can come right after the check, even > if it was checked under utrace->lock.
Right. > It is important that the tracee can't miss, say, UTRACE_REPORT request > (as you already explained), and every time the tracee clears ->resume > it calls splice_attaching(). Right. > > In the stopped cases, there are lots of locks and barriers and things > > after resuming. (Oleg?) > > Every time the tracee resumes after TASK_TRACED it uses utrace->lock > to synchronize with utrace_control/etc, it must see any changes. And TASK_STOPPED? Please send me patches to add whatever comments would make all this clear enough to Peter when reading the code. Thanks, Roland