]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - kernel/trace/trace_output.c
tracing: Fix clang -Wint-in-bool-context warnings in IF_ASSIGN macro
[linux.git] / kernel / trace / trace_output.c
index ba751f993c3b6d7aab1e417cf3deccb3f54473f0..d54ce252b05a848edb5d05ff3f32132975634b2c 100644 (file)
@@ -219,10 +219,10 @@ trace_print_hex_seq(struct trace_seq *p, const unsigned char *buf, int buf_len,
 {
        int i;
        const char *ret = trace_seq_buffer_ptr(p);
+       const char *fmt = concatenate ? "%*phN" : "%*ph";
 
-       for (i = 0; i < buf_len; i++)
-               trace_seq_printf(p, "%s%2.2x", concatenate || i == 0 ? "" : " ",
-                                buf[i]);
+       for (i = 0; i < buf_len; i += 16)
+               trace_seq_printf(p, fmt, min(buf_len - i, 16), &buf[i]);
        trace_seq_putc(p, 0);
 
        return ret;
@@ -1109,17 +1109,10 @@ static enum print_line_t trace_user_stack_print(struct trace_iterator *iter,
        for (i = 0; i < FTRACE_STACK_ENTRIES; i++) {
                unsigned long ip = field->caller[i];
 
-               if (ip == ULONG_MAX || trace_seq_has_overflowed(s))
+               if (!ip || trace_seq_has_overflowed(s))
                        break;
 
                trace_seq_puts(s, " => ");
-
-               if (!ip) {
-                       trace_seq_puts(s, "??");
-                       trace_seq_putc(s, '\n');
-                       continue;
-               }
-
                seq_print_user_ip(s, mm, ip, flags);
                trace_seq_putc(s, '\n');
        }