linux/kernel/trace
Yoshihiro YUNOMAE dc81e5e3ab tracing: Return error if ftrace_trace_arrays list is empty
ftrace_trace_arrays links global_trace.list. However, global_trace
is not added to ftrace_trace_arrays if trace_alloc_buffers() failed.
As the result, ftrace_trace_arrays becomes an empty list. If
ftrace_trace_arrays is an empty list, current top_trace_array() returns
an invalid pointer. As the result, the kernel can induce memory corruption
or panic.

Current implementation does not check whether ftrace_trace_arrays is empty
list or not. So, in this patch, if ftrace_trace_arrays is empty list,
top_trace_array() returns NULL. Moreover, this patch makes all functions
calling top_trace_array() handle it appropriately.

Link: http://lkml.kernel.org/p/20140605223517.32311.99233.stgit@yunodevel

Signed-off-by: Yoshihiro YUNOMAE <yoshihiro.yunomae.ez@hitachi.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2014-06-06 04:47:46 -04:00
..
blktrace.c Most of the changes were largely clean ups, and some documentation. 2014-04-03 10:26:31 -07:00
ftrace.c ftrace: Remove FTRACE_UPDATE_MODIFY_CALL_REGS flag 2014-05-14 11:37:30 -04:00
Kconfig tracing: Add tracepoint benchmark tracepoint 2014-05-29 22:49:54 -04:00
Makefile tracing: Add tracepoint benchmark tracepoint 2014-05-29 22:49:54 -04:00
power-traces.c
ring_buffer_benchmark.c trace: Replace hardcoding of 19 with MAX_NICE 2014-02-27 12:41:03 +01:00
ring_buffer.c trace, ring-buffer: Fix CPU hotplug callback registration 2014-03-20 13:43:48 +01:00
rpm-traces.c
trace_benchmark.c tracing: Only calculate stats of tracepoint benchmarks for 2^32 times 2014-06-06 00:41:38 -04:00
trace_benchmark.h tracing: Add tracepoint benchmark tracepoint 2014-05-29 22:49:54 -04:00
trace_branch.c tracing: Update event filters for multibuffer 2013-11-05 16:50:20 -05:00
trace_clock.c
trace_entries.h
trace_event_perf.c perf: Disallow user-space stack dumps for function trace events 2014-03-11 11:57:58 +01:00
trace_events_filter_test.h
trace_events_filter.c tracing: Add and use generic set_trigger_filter() implementation 2013-12-21 22:02:17 -05:00
trace_events_trigger.c tracepoint: Use struct pointer instead of name hash for reg/unreg tracepoints 2014-04-08 20:43:28 -04:00
trace_events.c tracing: Return error if ftrace_trace_arrays list is empty 2014-06-06 04:47:46 -04:00
trace_export.c tracing: Fix anonymous unions in struct ftrace_event_call 2014-04-09 20:02:55 -04:00
trace_functions_graph.c tracing: Add funcgraph_tail option to print function name after closing braces 2014-05-20 23:29:32 -04:00
trace_functions.c tracing: Remove mock up poll wait function 2014-04-30 08:40:05 -04:00
trace_irqsoff.c tracing: Allow irq/preempt tracers to be used by instances 2014-04-21 13:59:29 -04:00
trace_kdb.c
trace_kprobe.c tracepoint: Use struct pointer instead of name hash for reg/unreg tracepoints 2014-04-08 20:43:28 -04:00
trace_mmiotrace.c tracing: Update event filters for multibuffer 2013-11-05 16:50:20 -05:00
trace_nop.c tracing: Remove mock up poll wait function 2014-04-30 08:40:05 -04:00
trace_output.c tracing: Add __bitmask() macro to trace events to cpumasks and other bitmasks 2014-05-15 11:29:37 -04:00
trace_output.h
trace_printk.c
trace_probe.c tracing/uprobes: Add @+file_offset fetch method 2014-01-02 20:57:05 -05:00
trace_probe.h tracing/uprobes: Support ftrace_event_file base multibuffer 2014-02-20 12:30:09 -05:00
trace_sched_switch.c tracing: Update event filters for multibuffer 2013-11-05 16:50:20 -05:00
trace_sched_wakeup.c tracing: Remove mock up poll wait function 2014-04-30 08:40:05 -04:00
trace_selftest_dynamic.c
trace_selftest.c tracing: Add static to local functions 2014-04-21 14:00:46 -04:00
trace_stack.c tracing: Print max callstack on stacktrace bug 2014-06-02 16:43:49 -04:00
trace_stat.c trace/trace_stat: use rbtree postorder iteration helper instead of opencoding 2013-11-05 16:01:47 -05:00
trace_stat.h
trace_syscalls.c tracing: Consolidate event trigger code 2014-01-09 21:20:07 -05:00
trace_uprobe.c tracing/uprobes: Fix uprobe_cpu_buffer memory leak 2014-04-17 10:44:42 -04:00
trace.c tracing: Introduce saved_cmdlines_size file 2014-06-05 12:35:49 -04:00
trace.h tracing: Return error if ftrace_trace_arrays list is empty 2014-06-06 04:47:46 -04:00