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

Reply via email to