On Wed, Aug 12, 2020 at 04:59:36PM -0400, Steven Rostedt wrote:
On Wed, 12 Aug 2020 14:53:22 -0600 dann frazier dann.frazier@canonical.com wrote:
From: "Steven Rostedt (VMware)" rostedt@goodmis.org
commit 7ef282e05132d56b6f6b71e3873f317664bea78b upstream
If a process has the trace_pipe open on a trace_array, the current tracer for that trace array should not be changed. This was original enforced by a global lock, but when instances were introduced, it was moved to the current_trace. But this structure is shared by all instances, and a trace_pipe is for a single instance. There's no reason that a process that has trace_pipe open on one instance should prevent another instance from changing its current tracer. Move the reference counter to the trace_array instead.
This is marked as "Fixes" but is more of a clean up than a true fix. Backport if you want, but its not critical.
A note to stable maintainers. I originally thought this was just a clean up, but it was then found that it actually does fix a bug. (See below)
Now queued up, thanks!
greg k-h