diff options
| -rw-r--r-- | kernel/trace/trace_output.c | 65 | ||||
| -rw-r--r-- | kernel/trace/trace_output.h | 4 | 
2 files changed, 33 insertions, 36 deletions
| diff --git a/kernel/trace/trace_output.c b/kernel/trace/trace_output.c index df0c25cbed30..4e3ad36b117c 100644 --- a/kernel/trace/trace_output.c +++ b/kernel/trace/trace_output.c | |||
| @@ -440,9 +440,9 @@ trace_fn_raw(struct trace_seq *s, struct trace_entry *entry, int flags) | |||
| 440 | 440 | ||
| 441 | trace_assign_type(field, entry); | 441 | trace_assign_type(field, entry); | 
| 442 | 442 | ||
| 443 | if (trace_seq_printf(s, "%x %x\n", | 443 | if (!trace_seq_printf(s, "%x %x\n", | 
| 444 | field->ip, | 444 | field->ip, | 
| 445 | field->parent_ip)) | 445 | field->parent_ip)) | 
| 446 | return TRACE_TYPE_PARTIAL_LINE; | 446 | return TRACE_TYPE_PARTIAL_LINE; | 
| 447 | 447 | ||
| 448 | return 0; | 448 | return 0; | 
| @@ -497,14 +497,14 @@ trace_ctxwake_print(struct trace_seq *s, struct trace_entry *entry, int flags, | |||
| 497 | T = task_state_char(field->next_state); | 497 | T = task_state_char(field->next_state); | 
| 498 | S = task_state_char(field->prev_state); | 498 | S = task_state_char(field->prev_state); | 
| 499 | comm = trace_find_cmdline(field->next_pid); | 499 | comm = trace_find_cmdline(field->next_pid); | 
| 500 | if (trace_seq_printf(s, " %5d:%3d:%c %s [%03d] %5d:%3d:%c %s\n", | 500 | if (!trace_seq_printf(s, " %5d:%3d:%c %s [%03d] %5d:%3d:%c %s\n", | 
| 501 | field->prev_pid, | 501 | field->prev_pid, | 
| 502 | field->prev_prio, | 502 | field->prev_prio, | 
| 503 | S, delim, | 503 | S, delim, | 
| 504 | field->next_cpu, | 504 | field->next_cpu, | 
| 505 | field->next_pid, | 505 | field->next_pid, | 
| 506 | field->next_prio, | 506 | field->next_prio, | 
| 507 | T, comm)) | 507 | T, comm)) | 
| 508 | return TRACE_TYPE_PARTIAL_LINE; | 508 | return TRACE_TYPE_PARTIAL_LINE; | 
| 509 | 509 | ||
| 510 | return 0; | 510 | return 0; | 
| @@ -534,14 +534,14 @@ trace_ctxwake_raw(struct trace_seq *s, struct trace_entry *entry, int flags, | |||
| 534 | if (!S) | 534 | if (!S) | 
| 535 | task_state_char(field->prev_state); | 535 | task_state_char(field->prev_state); | 
| 536 | T = task_state_char(field->next_state); | 536 | T = task_state_char(field->next_state); | 
| 537 | if (trace_seq_printf(s, "%d %d %c %d %d %d %c\n", | 537 | if (!trace_seq_printf(s, "%d %d %c %d %d %d %c\n", | 
| 538 | field->prev_pid, | 538 | field->prev_pid, | 
| 539 | field->prev_prio, | 539 | field->prev_prio, | 
| 540 | S, | 540 | S, | 
| 541 | field->next_cpu, | 541 | field->next_cpu, | 
| 542 | field->next_pid, | 542 | field->next_pid, | 
| 543 | field->next_prio, | 543 | field->next_prio, | 
| 544 | T)) | 544 | T)) | 
| 545 | return TRACE_TYPE_PARTIAL_LINE; | 545 | return TRACE_TYPE_PARTIAL_LINE; | 
| 546 | 546 | ||
| 547 | return 0; | 547 | return 0; | 
| @@ -639,10 +639,10 @@ trace_special_print(struct trace_seq *s, struct trace_entry *entry, int flags) | |||
| 639 | 639 | ||
| 640 | trace_assign_type(field, entry); | 640 | trace_assign_type(field, entry); | 
| 641 | 641 | ||
| 642 | if (trace_seq_printf(s, "# %ld %ld %ld\n", | 642 | if (!trace_seq_printf(s, "# %ld %ld %ld\n", | 
| 643 | field->arg1, | 643 | field->arg1, | 
| 644 | field->arg2, | 644 | field->arg2, | 
| 645 | field->arg3)) | 645 | field->arg3)) | 
| 646 | return TRACE_TYPE_PARTIAL_LINE; | 646 | return TRACE_TYPE_PARTIAL_LINE; | 
| 647 | 647 | ||
| 648 | return 0; | 648 | return 0; | 
| @@ -697,13 +697,13 @@ trace_stack_print(struct trace_seq *s, struct trace_entry *entry, int flags) | |||
| 697 | 697 | ||
| 698 | for (i = 0; i < FTRACE_STACK_ENTRIES; i++) { | 698 | for (i = 0; i < FTRACE_STACK_ENTRIES; i++) { | 
| 699 | if (i) { | 699 | if (i) { | 
| 700 | if (trace_seq_puts(s, " <= ")) | 700 | if (!trace_seq_puts(s, " <= ")) | 
| 701 | goto partial; | 701 | goto partial; | 
| 702 | 702 | ||
| 703 | if (seq_print_ip_sym(s, field->caller[i], flags)) | 703 | if (!seq_print_ip_sym(s, field->caller[i], flags)) | 
| 704 | goto partial; | 704 | goto partial; | 
| 705 | } | 705 | } | 
| 706 | if (trace_seq_puts(s, "\n")) | 706 | if (!trace_seq_puts(s, "\n")) | 
| 707 | goto partial; | 707 | goto partial; | 
| 708 | } | 708 | } | 
| 709 | 709 | ||
| @@ -731,10 +731,10 @@ trace_user_stack_print(struct trace_seq *s, struct trace_entry *entry, | |||
| 731 | 731 | ||
| 732 | trace_assign_type(field, entry); | 732 | trace_assign_type(field, entry); | 
| 733 | 733 | ||
| 734 | if (seq_print_userip_objs(field, s, flags)) | 734 | if (!seq_print_userip_objs(field, s, flags)) | 
| 735 | goto partial; | 735 | goto partial; | 
| 736 | 736 | ||
| 737 | if (trace_seq_putc(s, '\n')) | 737 | if (!trace_seq_putc(s, '\n')) | 
| 738 | goto partial; | 738 | goto partial; | 
| 739 | 739 | ||
| 740 | return 0; | 740 | return 0; | 
| @@ -760,10 +760,10 @@ trace_print_print(struct trace_seq *s, struct trace_entry *entry, int flags) | |||
| 760 | 760 | ||
| 761 | trace_assign_type(field, entry); | 761 | trace_assign_type(field, entry); | 
| 762 | 762 | ||
| 763 | if (seq_print_ip_sym(s, field->ip, flags)) | 763 | if (!seq_print_ip_sym(s, field->ip, flags)) | 
| 764 | goto partial; | 764 | goto partial; | 
| 765 | 765 | ||
| 766 | if (trace_seq_printf(s, ": %s", field->buf)) | 766 | if (!trace_seq_printf(s, ": %s", field->buf)) | 
| 767 | goto partial; | 767 | goto partial; | 
| 768 | 768 | ||
| 769 | return 0; | 769 | return 0; | 
| @@ -779,10 +779,7 @@ trace_print_raw(struct trace_seq *s, struct trace_entry *entry, int flags) | |||
| 779 | 779 | ||
| 780 | trace_assign_type(field, entry); | 780 | trace_assign_type(field, entry); | 
| 781 | 781 | ||
| 782 | if (seq_print_ip_sym(s, field->ip, flags)) | 782 | if (!trace_seq_printf(s, "# %lx %s", field->ip, field->buf)) | 
| 783 | goto partial; | ||
| 784 | |||
| 785 | if (trace_seq_printf(s, "# %lx %s", field->ip, field->buf)) | ||
| 786 | goto partial; | 783 | goto partial; | 
| 787 | 784 | ||
| 788 | return 0; | 785 | return 0; | 
| diff --git a/kernel/trace/trace_output.h b/kernel/trace/trace_output.h index ecab4ea4a4fd..b2c14615e0cd 100644 --- a/kernel/trace/trace_output.h +++ b/kernel/trace/trace_output.h | |||
| @@ -45,14 +45,14 @@ trace_nop_print(struct trace_seq *s, struct trace_entry *entry, int flags); | |||
| 45 | #define SEQ_PUT_FIELD_RET(s, x) \ | 45 | #define SEQ_PUT_FIELD_RET(s, x) \ | 
| 46 | do { \ | 46 | do { \ | 
| 47 | if (!trace_seq_putmem(s, &(x), sizeof(x))) \ | 47 | if (!trace_seq_putmem(s, &(x), sizeof(x))) \ | 
| 48 | return 0; \ | 48 | return TRACE_TYPE_PARTIAL_LINE; \ | 
| 49 | } while (0) | 49 | } while (0) | 
| 50 | 50 | ||
| 51 | #define SEQ_PUT_HEX_FIELD_RET(s, x) \ | 51 | #define SEQ_PUT_HEX_FIELD_RET(s, x) \ | 
| 52 | do { \ | 52 | do { \ | 
| 53 | BUILD_BUG_ON(sizeof(x) > MAX_MEMHEX_BYTES); \ | 53 | BUILD_BUG_ON(sizeof(x) > MAX_MEMHEX_BYTES); \ | 
| 54 | if (!trace_seq_putmem_hex(s, &(x), sizeof(x))) \ | 54 | if (!trace_seq_putmem_hex(s, &(x), sizeof(x))) \ | 
| 55 | return 0; \ | 55 | return TRACE_TYPE_PARTIAL_LINE; \ | 
| 56 | } while (0) | 56 | } while (0) | 
| 57 | 57 | ||
| 58 | #endif | 58 | #endif | 
