ring-buffer: fix dangling commit race
authorSteven Rostedt <srostedt@redhat.com>
Tue, 23 Dec 2008 16:32:24 +0000 (11:32 -0500)
committerIngo Molnar <mingo@elte.hu>
Tue, 23 Dec 2008 17:45:25 +0000 (18:45 +0100)
commita8ccf1d6f60e3e6ae63122e02378cd4d40dd4aac
tree98a55b2caf4315617fbb9187e5a15c7f53740ff8
parent30cd324e9787ccc9a5ede59742d5409857550692
ring-buffer: fix dangling commit race

Impact: fix stuck trace-buffers

If an interrupt comes in during the rb_set_commit_to_write and
pushes the tail page forward just at the right time, the commit
updates will miss the adding of the interrupt data. This will
cause the commit pointer to cease from moving forward.

Thanks to Jiaying Zhang for finding this race.

Reported-by: Jiaying Zhang <jiayingz@google.com>
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Cc: <stable@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
kernel/trace/ring_buffer.c