Re: PID_NS unshare VS synchronize_rcu_tasks() (was: Re: [Syzkaller & bisect] There is task hung in "synchronize_rcu" in v6.1-rc5 kernel)

From: Frederic Weisbecker
Date: Wed Nov 23 2022 - 17:07:03 EST


On Wed, Nov 23, 2022 at 11:45:50PM +0800, Pengfei Xu wrote:
> On 2022-11-23 at 15:37:58 +0100, Frederic Weisbecker wrote:
> > I have no idea how to solve the situation without violating the pid_namespace
> > rules and unshare() semantics (although I wish unshare(CLONE_NEWPID) had a less
> > error prone behaviour with allowing creating more than one task belonging to the
> > same namespace).
> >
> > So probably having an SRCU read side critical section within exit_notify() is
> > not a good idea, is there a solution to work around that for rcu tasks?
> >
> Thanks for the analysis!
> Add one more information: I tried to revert this commit only on top of
> v6.1-rc5 mainline by script, but it caused kernel make to fail, it could not
> confirm the bisect information is 100% accurate if I could not pass the
> revert step verification. I just provide all the information I could.

No problem, I managed to reproduce with latest upstream.
I don't think the bisected commit is the culprit though, it may perhaps just make
the issue more likely to happen.

Thanks.

>
> And this issue is too difficult to me.
> If I find more clue, I will update the eamil.
>
> Thanks!
> BR.
>
> > Thanks.