On Fri, 4 Apr 2025 at 23:49, Steven Rostedt <[email protected]> wrote: > > On Fri, 4 Apr 2025 19:28:48 +0530 > Devaansh Kumar <[email protected]> wrote: > > > --- a/kernel/trace/trace_stack.c > > +++ b/kernel/trace/trace_stack.c > > @@ -543,8 +543,10 @@ static __init int enable_stacktrace(char *str) > > { > > int len; > > > > - if ((len = str_has_prefix(str, "_filter="))) > > - strncpy(stack_trace_filter_buf, str + len, COMMAND_LINE_SIZE); > > + len = str_has_prefix(str, "_filter="); > > + > > + if (len) > > + strscpy(stack_trace_filter_buf, str + len, > > sizeof(stack_trace_filter_buf)); > > > > stack_tracer_enabled = 1; > > return 1; > > BTW, why separate out the len? I use this notation quite a bit for > str_has_prefix() checks. > > $ git grep '(len = str_has_pref' kernel/trace > kernel/trace/trace_events.c: if (!(len = str_has_prefix(fmt, "REC->"))) > kernel/trace/trace_events_filter.c: if ((len = str_has_prefix(str + i, > ".ustring"))) { > kernel/trace/trace_events_filter.c: if ((len = str_has_prefix(str + i, > ".function"))) { > kernel/trace/trace_events_hist.c: if ((len = str_has_prefix(str, > "key=")) || > kernel/trace/trace_events_hist.c: (len = str_has_prefix(str, > "keys="))) { > kernel/trace/trace_events_hist.c: } else if ((len = str_has_prefix(str, > "val=")) || > kernel/trace/trace_events_hist.c: (len = str_has_prefix(str, > "vals=")) || > kernel/trace/trace_events_hist.c: (len = str_has_prefix(str, > "values="))) { > kernel/trace/trace_events_hist.c: } else if ((len = str_has_prefix(str, > "sort="))) { > kernel/trace/trace_events_hist.c: } else if ((len = str_has_prefix(str, > "clock="))) { > kernel/trace/trace_events_hist.c: } else if ((len = str_has_prefix(str, > "size="))) { > kernel/trace/trace_events_hist.c: if ((len = > str_has_prefix(str, "onmatch("))) > kernel/trace/trace_events_hist.c: else if ((len = > str_has_prefix(str, "onmax("))) > kernel/trace/trace_events_hist.c: else if ((len = > str_has_prefix(str, "onchange("))) > kernel/trace/trace_stack.c: if ((len = str_has_prefix(str, "_filter="))) > > It's fine being in the if statement as the if is more about "does this have > this prefix" and the length is just a side effect of it to use it to > extract the rest. > > This patch is only about removing strncpy(), it doesn't need to modify the > format. > > -- Steve
Sure I'll keep that in mind. -- Devaansh Kumar
