tracing: Replace strncpy with memcpy for fixed-length substring copy
authorSiddarth G <siddarthsgml@gmail.com>
Tue, 25 Mar 2025 18:12:32 +0000 (23:42 +0530)
committerSteven Rostedt (Google) <rostedt@goodmis.org>
Tue, 25 Mar 2025 21:44:32 +0000 (17:44 -0400)
checkpatch.pl reports the following warning:
WARNING: Prefer strscpy, strscpy_pad, or __nonstring over strncpy
(see: https://github.com/KSPP/linux/issues/90)

In synth_field_string_size(), replace strncpy() with memcpy() to copy 'len'
characters from 'start' to 'buf'. The code manually adds a NUL terminator
after the copy, making memcpy safe here.

Link: https://lore.kernel.org/20250325181232.38284-1-siddarthsgml@gmail.com
Signed-off-by: Siddarth G <siddarthsgml@gmail.com>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
kernel/trace/trace_events_synth.c

index 6d592cbc38e4f5462b2ee6be743d3def94850aae..969f48742d72c62557e5a94253eb331d09ade3a8 100644 (file)
@@ -207,7 +207,7 @@ static int synth_field_string_size(char *type)
        if (len == 0)
                return 0; /* variable-length string */
 
-       strncpy(buf, start, len);
+       memcpy(buf, start, len);
        buf[len] = '\0';
 
        err = kstrtouint(buf, 0, &size);