On 2023/6/19 16:26, Greg KH wrote:
On Fri, Jun 16, 2023 at 04:49:31AM +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>
[this patch is pre-depended by be111ebd8868d4b7c041cb3c6102e1ae27d6dc1d
due to tracing_reset_all_online_cpus() should be called after taking lock]
Fixes: be111ebd8868 ("tracing: Free buffers when a used dynamic event is removed")
Signed-off-by: Zheng Yejian <zhengyejian1@xxxxxxxxxx>
---
What about for 5.15.y? You can't apply a fix to just an older tree as
you will then have a regression when you update.
I'll drop this one from my queue, please resend a backport for all
relevent stable releases.
Hi, greg,
I have resend the patch to relevent stable releases:
5.15.y:
https://lore.kernel.org/all/20230620013052.1127047-1-zhengyejian1@xxxxxxxxxx/
5.10.y:
https://lore.kernel.org/all/20230620013104.1127100-1-zhengyejian1@xxxxxxxxxx/
5.4.y:
https://lore.kernel.org/all/20230620013113.1127152-1-zhengyejian1@xxxxxxxxxx/
---
Thanks,
Zheng Yejian
thanks,
greg k-h