ftrace: Add new type to distinguish what kind of ftrace_bug()
authorSteven Rostedt (Red Hat) <rostedt@goodmis.org>
Wed, 25 Nov 2015 17:50:47 +0000 (12:50 -0500)
committerSteven Rostedt <rostedt@goodmis.org>
Wed, 25 Nov 2015 20:24:15 +0000 (15:24 -0500)
commit02a392a0439ffdc62b4d8f17bd18d68736b166a9
treec14877e8b5d5e48487f4bbbd09afed301d8bd21b
parent4e4a4d75700da67c1209c151d5f11a309c3b8367
ftrace: Add new type to distinguish what kind of ftrace_bug()

The ftrace function hook utility has several internal checks to make sure
that whatever it modifies is exactly what it expects to be modifying. This
is essential as modifying running code can be extremely dangerous to the
system.

When an anomaly is detected, ftrace_bug() is called which sends a splat to
the console and disables function tracing. There's some extra information
that is printed to help diagnose the issue.

One thing that is missing though is output of what ftrace was doing at the
time of the crash. Was it updating a call site or perhaps converting a call
site to a nop? A new global enum variable is created to state what ftrace
was doing at the time of the anomaly, and this is reported in ftrace_bug().

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
include/linux/ftrace.h
kernel/trace/ftrace.c