android_kernel_sony_sdm845/kernel/trace
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Steven Rostedt (VMware) 741397d16a ftrace: Check for null ret_stack on profile function graph entry function
commit a8f0f9e49956a74718874b800251455680085600 upstream.

There's a small race when function graph shutsdown and the calling of the
registered function graph entry callback. The callback must not reference
the task's ret_stack without first checking that it is not NULL. Note, when
a ret_stack is allocated for a task, it stays allocated until the task exits.
The problem here, is that function_graph is shutdown, and a new task was
created, which doesn't have its ret_stack allocated. But since some of the
functions are still being traced, the callbacks can still be called.

The normal function_graph code handles this, but starting with commit
8861dd303c ("ftrace: Access ret_stack->subtime only in the function
profiler") the profiler code references the ret_stack on function entry, but
doesn't check if it is NULL first.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=196611

Fixes: 8861dd303c ("ftrace: Access ret_stack->subtime only in the function profiler")
Reported-by: lilydjwg@gmail.com
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-08-30 10:21:50 +02:00
..
blktrace.c
bpf_trace.c
ftrace.c ftrace: Check for null ret_stack on profile function graph entry function 2017-08-30 10:21:50 +02:00
Kconfig
Makefile
power-traces.c
ring_buffer.c
ring_buffer_benchmark.c
rpm-traces.c
trace.c tracing: Call clear_boot_tracer() at lateinit_sync 2017-08-30 10:21:48 +02:00
trace.h
trace_benchmark.c
trace_benchmark.h
trace_branch.c
trace_clock.c
trace_entries.h
trace_event_perf.c
trace_events.c
trace_events_filter.c tracing: Fix freeing of filter in create_filter() when set_str is false 2017-08-30 10:21:49 +02:00
trace_events_filter_test.h
trace_events_hist.c
trace_events_trigger.c
trace_export.c
trace_functions.c
trace_functions_graph.c
trace_hwlat.c
trace_irqsoff.c
trace_kdb.c
trace_kprobe.c
trace_mmiotrace.c
trace_nop.c
trace_output.c
trace_output.h
trace_printk.c
trace_probe.c
trace_probe.h
trace_sched_switch.c
trace_sched_wakeup.c
trace_selftest.c
trace_selftest_dynamic.c
trace_seq.c
trace_stack.c
trace_stat.c
trace_stat.h
trace_syscalls.c
trace_uprobe.c
tracing_map.c tracing: Fix kmemleak in tracing_map_array_free() 2017-08-30 10:21:49 +02:00
tracing_map.h