Re: [PATCH] sched: Fix race against ptrace_freeze_trace()

2020-07-21 Thread Oleg Nesterov
On 07/21, Peter Zijlstra wrote: > > --- a/kernel/sched/core.c > +++ b/kernel/sched/core.c > @@ -4193,9 +4193,6 @@ static void __sched notrace __schedule(b > local_irq_disable(); > rcu_note_context_switch(preempt); > > - /* See deactivate_task() below. */ > - prev_state =

Re: [PATCH] sched: Fix race against ptrace_freeze_trace()

2020-07-21 Thread Christian Brauner
On Tue, Jul 21, 2020 at 02:13:08PM +0200, pet...@infradead.org wrote: > > There is apparently one site that violates the rule that only current > and ttwu() will modify task->state, namely ptrace_{,un}freeze_traced() > will change task->state for a remote task. > > Oleg explains: > >

[PATCH] sched: Fix race against ptrace_freeze_trace()

2020-07-21 Thread peterz
There is apparently one site that violates the rule that only current and ttwu() will modify task->state, namely ptrace_{,un}freeze_traced() will change task->state for a remote task. Oleg explains: "TASK_TRACED/TASK_STOPPED was always protected by siglock. In particular, ttwu(__TASK_TRACED)