ftrace: binary and not logical for continue test
authorSteven Rostedt <rostedt@goodmis.org>
Wed, 3 Sep 2008 21:42:50 +0000 (17:42 -0400)
committerIngo Molnar <mingo@elte.hu>
Tue, 14 Oct 2008 08:36:39 +0000 (10:36 +0200)
Peter Zijlstra provided me with a nice brown paper bag while letting me know
that I was doing a logical AND and not a binary one, making a condition
true more often than it should be.

Luckily, a false true is handled by the calling function and no harm is
done. But this needs to be fixed regardless.

Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Acked-by: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
kernel/trace/trace.c

index 1801900908e1c56ffadc94c3943067ee337a17c9..9639e45f0860ef63e06c3243cb0e3d6924aec7ec 100644 (file)
@@ -1655,7 +1655,7 @@ print_lat_fmt(struct trace_iterator *iter, unsigned int trace_idx, int cpu)
        case TRACE_PRINT:
                seq_print_ip_sym(s, field->print.ip, sym_flags);
                trace_seq_printf(s, ": %s", field->print.buf);
-               if (field->flags && TRACE_FLAG_CONT)
+               if (field->flags & TRACE_FLAG_CONT)
                        trace_seq_print_cont(s, iter);
                break;
        default:
@@ -1768,7 +1768,7 @@ static int print_trace_fmt(struct trace_iterator *iter)
        case TRACE_PRINT:
                seq_print_ip_sym(s, field->print.ip, sym_flags);
                trace_seq_printf(s, ": %s", field->print.buf);
-               if (field->flags && TRACE_FLAG_CONT)
+               if (field->flags & TRACE_FLAG_CONT)
                        trace_seq_print_cont(s, iter);
                break;
        }
@@ -1833,7 +1833,7 @@ static int print_raw_fmt(struct trace_iterator *iter)
        case TRACE_PRINT:
                trace_seq_printf(s, "# %lx %s",
                                 field->print.ip, field->print.buf);
-               if (field->flags && TRACE_FLAG_CONT)
+               if (field->flags & TRACE_FLAG_CONT)
                        trace_seq_print_cont(s, iter);
                break;
        }