Re: [PATCH] tracing: Replace deprecated strncpy() with memcpy() for stack_trace_filter_buf

From: Devaansh Kumar
Date: Fri Apr 04 2025 - 08:28:41 EST


On Fri, 4 Apr 2025 at 01:05, Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
>
> On Fri, 4 Apr 2025 00:43:40 +0530
> Devaansh Kumar <devaanshk840@xxxxxxxxx> wrote:
>
> > @@ -537,14 +538,16 @@ stack_trace_sysctl(struct ctl_table *table, int write, void *buffer,
> > return ret;
> > }
> >
> > -static char stack_trace_filter_buf[COMMAND_LINE_SIZE+1] __initdata;
> > +static char stack_trace_filter_buf[COMMAND_LINE_SIZE+1] __initdata __nonstring;
> >
> > 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)
> > + memcpy(stack_trace_filter_buf, str + len, sizeof(stack_trace_filter_buf));
>
> Hmm, this location looks like it can just use strscpy().

Yes strscpy() also works. But since stack_trace_filter_buf is length
bounded, shouldn't memcpy be the right choice?

-- Devaansh Kumar