On Tue, Jun 20, 2023 at 09:30:52AM +0800, Zheng Yejian wrote: > From: "Steven Rostedt (Google)" <rostedt@xxxxxxxxxxx> > > commit e18eb8783ec4949adebc7d7b0fdb65f65bfeefd9 upstream. > > Currently the tracing_reset_all_online_cpus() requires the > trace_types_lock held. But only one caller of this function actually has > that lock held before calling it, and the other just takes the lock so > that it can call it. More users of this function is needed where the lock > is not held. > > Add a tracing_reset_all_online_cpus_unlocked() function for the one use > case that calls it without being held, and also add a lockdep_assert to > make sure it is held when called. > > Then have tracing_reset_all_online_cpus() take the lock internally, such > that callers do not need to worry about taking it. > > Link: https://lkml.kernel.org/r/20221123192741.658273220@xxxxxxxxxxx > > Cc: Masami Hiramatsu <mhiramat@xxxxxxxxxx> > Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > Cc: Zheng Yejian <zhengyejian1@xxxxxxxxxx> > Signed-off-by: Steven Rostedt (Google) <rostedt@xxxxxxxxxxx> > > [Refers to commit message of 417d5ea6e735e5d88ffb6c436cf2938f3f476dd1, > this patch is pre-depended, and tracing_reset_all_online_cpus() should > be called after trace_types_lock is held as its comment describes.] > Fixes: 417d5ea6e735 ("tracing: Free buffers when a used dynamic event is removed") > Signed-off-by: Zheng Yejian <zhengyejian1@xxxxxxxxxx> All now queued up, thanks. greg k-h