ring-buffer: Move disabled check into preempt disable section
commit9dfa691caee866df28691815e708a914349a6f10
authorLai Jiangshan <laijs@cn.fujitsu.com>
Mon, 8 Mar 2010 06:50:43 +0000 (8 14:50 +0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 1 Apr 2010 22:58:08 +0000 (1 15:58 -0700)
tree1e9a3fc30ac34231416c49005730966ccba876e1
parenta0d8ffd630563ec37d9a38999ecdf516b570a0ac
ring-buffer: Move disabled check into preempt disable section

commit 52fbe9cde7fdb5c6fac196d7ebd2d92d05ef3cd4 upstream.

The ring buffer resizing and resetting relies on a schedule RCU
action. The buffers are disabled, a synchronize_sched() is called
and then the resize or reset takes place.

But this only works if the disabling of the buffers are within the
preempt disabled section, otherwise a window exists that the buffers
can be written to while a reset or resize takes place.

Reported-by: Li Zefan <lizf@cn.fujitsu.com>
Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
LKML-Reference: <4B949E43.2010906@cn.fujitsu.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
kernel/trace/ring_buffer.c