tracing: Add checks if tr->buffer is NULL in tracing_reset{_online_cpus}
max_tr->buffer could be NULL in the tracing_reset{_online_cpus}. In this case, a NULL pointer dereference happens, so we should return immediately from these functions. Note, the current code does not call tracing_reset*() with max_tr when its buffer is NULL, but future code will. This patch is needed to prevent the future code from crashing. Link: http://lkml.kernel.org/r/20121219070234.31200.93863.stgit@liselsia Signed-off-by: Hiraku Toyooka <hiraku.toyooka.gu@hitachi.com> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
This commit is contained in:
Родитель
6aea49cb5f
Коммит
a54164114b
|
@ -922,6 +922,9 @@ void tracing_reset(struct trace_array *tr, int cpu)
|
|||
{
|
||||
struct ring_buffer *buffer = tr->buffer;
|
||||
|
||||
if (!buffer)
|
||||
return;
|
||||
|
||||
ring_buffer_record_disable(buffer);
|
||||
|
||||
/* Make sure all commits have finished */
|
||||
|
@ -936,6 +939,9 @@ void tracing_reset_online_cpus(struct trace_array *tr)
|
|||
struct ring_buffer *buffer = tr->buffer;
|
||||
int cpu;
|
||||
|
||||
if (!buffer)
|
||||
return;
|
||||
|
||||
ring_buffer_record_disable(buffer);
|
||||
|
||||
/* Make sure all commits have finished */
|
||||
|
|
Загрузка…
Ссылка в новой задаче