On Thu, 21 Aug 2025 02:11:20 +0000 Tengda Wu <wuten...@huaweicloud.com> wrote:
tested this and was writing the change log for the pull request when I realized an issue. > diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c > index 4283ed4e8f59..b4cec22753ea 100644 > --- a/kernel/trace/trace.c > +++ b/kernel/trace/trace.c > @@ -10617,6 +10617,7 @@ static void ftrace_dump_one(struct trace_array *tr, > enum ftrace_dump_mode dump_m > */ > > while (!trace_empty(&iter)) { > + void *ent; > > if (!cnt) > printk(KERN_TRACE > "---------------------------------\n"); > @@ -10625,17 +10626,18 @@ static void ftrace_dump_one(struct trace_array *tr, > enum ftrace_dump_mode dump_m > > trace_iterator_reset(&iter); > iter.iter_flags |= TRACE_FILE_LAT_FMT; > + ent = trace_find_next_entry_inc(&iter); > > - if (trace_find_next_entry_inc(&iter) != NULL) { > + if (ent) { Why do we need "ent"? > int ret; > > ret = print_trace_line(&iter); > if (ret != TRACE_TYPE_NO_CONSUME) > trace_consume(&iter); > + > + trace_printk_seq(&iter.seq); Isn't just moving trace_printk_seq() enough? The code is no different with or without the "ent" as "ent" is not used in the if block. -- Steve > } > touch_nmi_watchdog(); > - > - trace_printk_seq(&iter.seq); > } > > if (!cnt)