]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
ring-buffer: fix dangling commit race
authorSteven Rostedt <srostedt@redhat.com>
Tue, 23 Dec 2008 16:32:24 +0000 (11:32 -0500)
committerGreg Kroah-Hartman <gregkh@suse.de>
Sun, 18 Jan 2009 18:43:44 +0000 (10:43 -0800)
commit0f6645286f4c0b568d83a240a73f55ce618dd8aa
tree5bb54e95e9ff93931855b1047ba37912e0a9c03d
parent6870fdf3a70ea33f544cb1474916bee1c366ce9d
ring-buffer: fix dangling commit race

commit a8ccf1d6f60e3e6ae63122e02378cd4d40dd4aac upstream.

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>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
kernel/trace/ring_buffer.c