summaryrefslogtreecommitdiff
path: root/kernel/trace/ring_buffer.c
diff options
context:
space:
mode:
authorSteven Rostedt <rostedt@goodmis.org>2008-10-01 10:52:51 -0400
committerIngo Molnar <mingo@elte.hu>2008-10-14 10:39:07 +0200
commit7104f300c5a69b46dda00d898034dd05c9f21739 (patch)
treea8c885bd61fb1e269f277837b2e521179faf8739 /kernel/trace/ring_buffer.c
parent797d3712a9dd75c720558612be05f42c031a7bb5 (diff)
downloadlwn-7104f300c5a69b46dda00d898034dd05c9f21739.tar.gz
lwn-7104f300c5a69b46dda00d898034dd05c9f21739.zip
ftrace: type cast filter+verifier
The mmiotrace map had a bug that would typecast the entry from the trace to the wrong type. That is a known danger of C typecasts, there's absolutely zero checking done on them. Help that problem a bit by using a GCC extension to implement a type filter that restricts the types that a trace record can be cast into, and by adding a dynamic check (in debug mode) to verify the type of the entry. This patch adds a macro to assign all entries of ftrace using the type of the variable and checking the entry id. The typecasts are now done in the macro for only those types that it knows about, which should be all the types that are allowed to be read from the tracer. Signed-off-by: Steven Rostedt <srostedt@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/trace/ring_buffer.c')
0 files changed, 0 insertions, 0 deletions