linux/kernel/trace
Frederic Weisbecker 072b40a156 tracing/branch-tracer: fix a trace recursion on branch tracer
Impact: fix crash when enabling the branch-tracer

When the branch tracer inserts an event through
probe_likely_condition(), it calls local_irq_save() and then results
in a trace recursion.

local_irq_save() -> trace_hardirqs_off() -> trace_hardirqs_off_caller()
	-> unlikely()

The trace_branch.c file is protected by DISABLE_BRANCH_PROFILING but
that doesn't prevent from external call to functions that use
unlikely().

My box crashed each time I tried to set this tracer (sudden and hard
reboot).

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2008-11-16 07:55:59 +01:00
..
ftrace.c ftrace: remove unnecessary if condition of __unregister_ftrace_function 2008-11-13 19:36:30 +01:00
Kconfig trace: rename unlikely profiler to branch profiler 2008-11-12 22:27:58 +01:00
Makefile ftrace: rename trace_unlikely.c file 2008-11-12 22:28:40 +01:00
ring_buffer.c Merge branches 'tracing/fastboot', 'tracing/ftrace' and 'tracing/urgent' into tracing/core 2008-11-16 07:28:46 +01:00
trace_boot.c tracing/fastboot: Use the ring-buffer timestamp for initcall entries 2008-11-12 10:17:19 +01:00
trace_branch.c tracing/branch-tracer: fix a trace recursion on branch tracer 2008-11-16 07:55:59 +01:00
trace_functions_return.c tracing: add a tracer to catch execution time of kernel functions 2008-11-11 10:29:12 +01:00
trace_functions.c ftrace: remove trace array ctrl 2008-11-08 09:51:39 +01:00
trace_irqsoff.c ftrace: remove trace array ctrl 2008-11-08 09:51:39 +01:00
trace_mmiotrace.c ftrace: remove trace array ctrl 2008-11-08 09:51:39 +01:00
trace_nop.c ftrace: remove trace array ctrl 2008-11-08 09:51:39 +01:00
trace_sched_switch.c ftrace: remove trace array ctrl 2008-11-08 09:51:39 +01:00
trace_sched_wakeup.c ftrace: remove trace array ctrl 2008-11-08 09:51:39 +01:00
trace_selftest_dynamic.c ftrace: fix dynamic ftrace selftest 2008-05-23 21:13:23 +02:00
trace_selftest.c ftrace: add tracer called branch 2008-11-12 22:28:25 +01:00
trace_stack.c ftrace: insert in the ftrace_preempt_disable()/enable() functions 2008-11-04 10:09:49 +01:00
trace_sysprof.c ftrace: remove trace array ctrl 2008-11-08 09:51:39 +01:00
trace.c ftrace: CPU buffer start annotation clean ups 2008-11-13 09:49:24 +01:00
trace.h ftrace: CPU buffer start annotation clean ups 2008-11-13 09:49:24 +01:00