Re: [PATCH v2] ptrace: fix ptrace vs tasklist_lock race on PREEMPT_RT.

From: Peter Zijlstra
Date: Tue Apr 05 2022 - 16:54:50 EST


On Tue, Apr 05, 2022 at 12:29:03PM +0200, Oleg Nesterov wrote:
> On 04/05, Peter Zijlstra wrote:
> >
> > As is, I think we can write task_is_stopped() like:
> >
> > #define task_is_stopped(task) ((task)->jobctl & JOBCTL_STOP_PENDING)
> >
> > Because jobctl is in fact the canonical state.
>
> Not really. JOBCTL_STOP_PENDING means that the task should stop.
>
> And this flag is cleared right before set_special_state(TASK_STOPPED)
> in do_signal_stop(), see task_participate_group_stop().

Argh! More work then :-( Still, I really want to not have p->__state be
actual unique state.