On 04/28, Peter Zijlstra wrote: > > On Wed, Apr 27, 2022 at 05:14:57PM +0200, Oleg Nesterov wrote: > > On 04/26, Eric W. Biederman wrote: > > > > > > Asking wait_task_inactive to verify that tsk->__state == __TASK_TRACED > > > was needed to detect the when ptrace_stop would decide not to stop > > > after calling "set_special_state(TASK_TRACED)". With the recent > > > cleanups ptrace_stop will always stop after calling set_special_state. > > > > > > Take advatnage of this by no longer asking wait_task_inactive to > > > verify the state. If a bug is hit and wait_task_inactive does not > > > succeed warn and return -ESRCH. > > > > ACK, but I think that the changelog is wrong. > > > > We could do this right after may_ptrace_stop() has gone. This doesn't > > depend on the previous changes in this series. > > It very much does rely on there not being any blocking between > set_special_state() and schedule() tho. So all those PREEMPT_RT > spinlock->rt_mutex things need to be gone.
Yes sure. But this patch doesn't add the new problems, imo. Yes we can hit the WARN_ON_ONCE(!wait_task_inactive()), but this is correct in that it should not fail, and this is what we need to fix. > That is also the reason I couldn't do wait_task_inactive(task, 0) Ah, I din't notice this patch uses wait_task_inactive(child, 0), I think it should do wait_task_inactive(child, __TASK_TRACED). Oleg. _______________________________________________ linux-um mailing list linux-um@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-um