kernel-ark/kernel/trace
Steven Rostedt ea14eb7140 function-graph: Init curr_ret_stack with ret_stack
If the graph tracer is active, and a task is forked but the allocating of
the processes graph stack fails, it can cause crash later on.

This is due to the temporary stack being NULL, but the curr_ret_stack
variable is copied from the parent. If it is not -1, then in
ftrace_graph_probe_sched_switch() the following:

	for (index = next->curr_ret_stack; index >= 0; index--)
		next->ret_stack[index].calltime += timestamp;

Will cause a kernel OOPS.

Found with Li Zefan's ftrace_stress_test.

Cc: stable@kernel.org
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2010-03-12 20:28:02 -05:00
..
blktrace.c blktrace: perform cleanup after setup error 2010-02-28 19:47:19 +01:00
ftrace.c function-graph: Init curr_ret_stack with ret_stack 2010-03-12 20:28:02 -05:00
Kconfig Merge branch 'tracing/core' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into tracing/core 2010-02-27 10:06:10 +01:00
kmemtrace.c
Makefile perf events: Remove CONFIG_EVENT_PROFILE 2009-12-28 10:33:06 +01:00
power-traces.c tracing/power: Remove two exports 2009-12-13 18:37:28 +01:00
ring_buffer_benchmark.c ring-buffer-benchmark: Add parameters to set produce/consumer priorities 2009-11-25 14:14:15 -05:00
ring_buffer.c ring-buffer: Move disabled check into preempt disable section 2010-03-12 20:26:56 -05:00
trace_boot.c
trace_branch.c tracing: Add correct/incorrect to sort keys for branch annotation output 2010-02-09 21:35:05 -05:00
trace_clock.c tracing: Include irqflags headers from trace clock 2010-02-28 19:45:01 +01:00
trace_entries.h hw-breakpoints: Rewrite the hw-breakpoints layer on top of perf events 2009-11-08 15:34:42 +01:00
trace_event_profile.c perf: Factorize trace events raw sample buffer operations 2010-01-29 02:02:57 +01:00
trace_events_filter.c Merge branch 'perf/urgent' into perf/core 2010-01-29 10:36:22 +01:00
trace_events.c tracing: Simplify memory recycle of trace_define_field 2010-02-25 10:42:55 -05:00
trace_export.c tracing: Remove show_format and related macros from TRACE_EVENT 2010-01-06 12:08:46 -05:00
trace_functions_graph.c function-graph: Add tracing_thresh support to function_graph tracer 2010-03-05 21:20:57 -05:00
trace_functions.c
trace_hw_branches.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu 2009-12-14 09:58:24 -08:00
trace_irqsoff.c tracing: Add stack trace to irqsoff tracer 2009-12-11 13:19:51 -05:00
trace_kprobe.c Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-02-28 10:20:25 -08:00
trace_ksym.c ksym_tracer: Remove trace_stat 2009-12-30 07:50:50 +01:00
trace_mmiotrace.c
trace_nop.c
trace_output.c tracing: Add full state to trace_seq 2009-12-09 14:05:49 -05:00
trace_output.h
trace_printk.c
trace_sched_switch.c
trace_sched_wakeup.c locking: Convert __raw_spin* functions to arch_spin* 2009-12-14 23:55:32 +01:00
trace_selftest_dynamic.c
trace_selftest.c locking: Convert __raw_spin* functions to arch_spin* 2009-12-14 23:55:32 +01:00
trace_stack.c tracing: Fix circular dead lock in stack trace 2010-02-02 10:20:18 -05:00
trace_stat.c
trace_stat.h
trace_syscalls.c Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-02-28 10:20:25 -08:00
trace_sysprof.c perf events, x86/stacktrace: Make stack walking optional 2009-12-17 09:56:19 +01:00
trace_workqueue.c
trace.c Merge branch 'tip/tracing/core' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/urgent 2010-03-11 13:39:33 +01:00
trace.h function-graph: Add tracing_thresh support to function_graph tracer 2010-03-05 21:20:57 -05:00