Re: [PATCH] tracing: Annotate ftrace_graph_hash pointer with __rcu

From: Paul E. McKenney
Date: Wed Feb 05 2020 - 08:29:22 EST


On Wed, Feb 05, 2020 at 08:19:21AM -0500, Steven Rostedt wrote:
> On Wed, 5 Feb 2020 08:14:09 -0500
> Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
>
> > On Wed, 5 Feb 2020 05:11:10 -0800
> > "Paul E. McKenney" <paulmck@xxxxxxxxxx> wrote:
> >
> > > I strongly recommend a comment stating why disabling preemption prevents
> > > ftrace_graph_hash from going away. I see the synchronize_rcu() after
> > > the rcu_assign_pointer() in ftrace_graph_release(), but I don't see
> > > anything that waits on CPUs that RCU is not watching.
> > >
> > > Of course, event tracing -makes- RCU watch when needed, but if that
> > > was set up, then lockdep would not have complained.
> > >
> > > So what am I missing?
> >
> > Keep looking in your INBOX and look at the patch I asked you to ack or
> > complain about ;-)

Not yet seeing it, but...

> Actually, looking at the code myself, it appears to be missing the
> ftrace_sync. Thus, this is a bug, and requires the ftrace sync, as
> synchronize_rcu() is not strong enough here.
>
> Patch in process!

Thank you for chasing it down!

Thanx, Paul