summaryrefslogtreecommitdiffstats
path: root/kernel/trace/trace_functions.c
diff options
context:
space:
mode:
authorSteven Rostedt <srostedt@redhat.com>2013-01-24 13:52:34 +0100
committerSteven Rostedt <rostedt@goodmis.org>2013-01-24 13:52:34 +0100
commitd41032a83b4683481cadff84bbf8e0eafeaba830 (patch)
treeba1d406d54fca1bf2be8a554d868633678e07aa8 /kernel/trace/trace_functions.c
parentring-buffer: Remove trace.h from ring_buffer.c (diff)
downloadlinux-d41032a83b4683481cadff84bbf8e0eafeaba830.tar.xz
linux-d41032a83b4683481cadff84bbf8e0eafeaba830.zip
tracing: Fix unsigned int compare of zero in recursion check
Dan's smatch found a compare bug with the result of the trace_test_and_set_recursion() and comparing to less than zero. If the function fails, it returns -1, but was saved in an unsigned int, which will never be less than zero and will ignore the result of the test if a recursion did happen. Luckily this is the last of the recursion tests, as the infrastructure of ftrace would catch recursions before it got here, except for some few exceptions. Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Diffstat (limited to 'kernel/trace/trace_functions.c')
-rw-r--r--kernel/trace/trace_functions.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/trace/trace_functions.c b/kernel/trace/trace_functions.c
index 1c327ef13a9a..601152523326 100644
--- a/kernel/trace/trace_functions.c
+++ b/kernel/trace/trace_functions.c
@@ -61,7 +61,7 @@ function_trace_call(unsigned long ip, unsigned long parent_ip,
struct trace_array *tr = func_trace;
struct trace_array_cpu *data;
unsigned long flags;
- unsigned int bit;
+ int bit;
int cpu;
int pc;