aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'kernel')
-rw-r--r--kernel/trace/trace.c15
-rw-r--r--kernel/trace/trace_output.c3
2 files changed, 15 insertions, 3 deletions
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index 9541c27c1cf2..5af42f478c06 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -2013,9 +2013,10 @@ enum print_line_t print_trace_line(struct trace_iterator *iter)
2013{ 2013{
2014 enum print_line_t ret; 2014 enum print_line_t ret;
2015 2015
2016 if (iter->lost_events) 2016 if (iter->lost_events &&
2017 trace_seq_printf(&iter->seq, "CPU:%d [LOST %lu EVENTS]\n", 2017 !trace_seq_printf(&iter->seq, "CPU:%d [LOST %lu EVENTS]\n",
2018 iter->cpu, iter->lost_events); 2018 iter->cpu, iter->lost_events))
2019 return TRACE_TYPE_PARTIAL_LINE;
2019 2020
2020 if (iter->trace && iter->trace->print_line) { 2021 if (iter->trace && iter->trace->print_line) {
2021 ret = iter->trace->print_line(iter); 2022 ret = iter->trace->print_line(iter);
@@ -3229,6 +3230,14 @@ waitagain:
3229 3230
3230 if (iter->seq.len >= cnt) 3231 if (iter->seq.len >= cnt)
3231 break; 3232 break;
3233
3234 /*
3235 * Setting the full flag means we reached the trace_seq buffer
3236 * size and we should leave by partial output condition above.
3237 * One of the trace_seq_* functions is not used properly.
3238 */
3239 WARN_ONCE(iter->seq.full, "full flag set for trace type %d",
3240 iter->ent->type);
3232 } 3241 }
3233 trace_access_unlock(iter->cpu_file); 3242 trace_access_unlock(iter->cpu_file);
3234 trace_event_read_unlock(); 3243 trace_event_read_unlock();
diff --git a/kernel/trace/trace_output.c b/kernel/trace/trace_output.c
index 456be9063c2d..cf535ccedc86 100644
--- a/kernel/trace/trace_output.c
+++ b/kernel/trace/trace_output.c
@@ -830,6 +830,9 @@ EXPORT_SYMBOL_GPL(unregister_ftrace_event);
830enum print_line_t trace_nop_print(struct trace_iterator *iter, int flags, 830enum print_line_t trace_nop_print(struct trace_iterator *iter, int flags,
831 struct trace_event *event) 831 struct trace_event *event)
832{ 832{
833 if (!trace_seq_printf(&iter->seq, "type: %d\n", iter->ent->type))
834 return TRACE_TYPE_PARTIAL_LINE;
835
833 return TRACE_TYPE_HANDLED; 836 return TRACE_TYPE_HANDLED;
834} 837}
835 838