ring-buffer: Make resize disable per cpu buffer instead of total buffer
authorSteven Rostedt (VMware) <rostedt@goodmis.org>
Fri, 27 Mar 2020 20:21:22 +0000 (16:21 -0400)
committerSteven Rostedt (VMware) <rostedt@goodmis.org>
Fri, 27 Mar 2020 20:21:22 +0000 (16:21 -0400)
commit07b8b10ec94f852502db739047a2803ed36ccf46
tree73b625c95c94d4e3c353ba41bb7041fe2500987f
parent153368ce1bd0ccb47812a3185e824445a7024ea5
ring-buffer: Make resize disable per cpu buffer instead of total buffer

When the ring buffer becomes writable for even when the trace file is read,
it must still not be resized. But since tracers can be activated while the
trace file is being read, the irqsoff tracer can modify the per CPU buffers,
and this can cause the reader of the trace file to update the wrong buffer's
resize disable bit, as the irqsoff tracer swaps out cpu buffers.

By making the resize disable per cpu_buffer, it makes the update follow the
per cpu_buffer even if it's swapped out with the snapshot buffer and keeps
the release of the trace file modifying the same data as the open did.

Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
kernel/trace/ring_buffer.c