diff options
author | Tom Zanussi <zanussi@kernel.org> | 2022-03-10 11:17:07 -0600 |
---|---|---|
committer | Steven Rostedt (Google) <rostedt@goodmis.org> | 2022-03-11 11:49:24 -0500 |
commit | 9f438d4d7fa2f59570cd58bca24ac82e7172d63b (patch) | |
tree | 4245fa202735326848aa6d76e4d712a7b7f65e71 /kernel/trace | |
parent | 7e348b325bc40eb52aead4d57a1f90d33ea834fc (diff) | |
download | linux-9f438d4d7fa2f59570cd58bca24ac82e7172d63b.tar.bz2 |
tracing: Fix strncpy warning in trace_events_synth.c
0-day reported the strncpy error below:
../kernel/trace/trace_events_synth.c: In function 'last_cmd_set':
../kernel/trace/trace_events_synth.c:65:9: warning: 'strncpy' specified bound depends on the length o\
f the source argument [-Wstringop-truncation]
65 | strncpy(last_cmd, str, strlen(str) + 1);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../kernel/trace/trace_events_synth.c:65:32: note: length computed here
65 | strncpy(last_cmd, str, strlen(str) + 1);
| ^~~~~~~~~~~
There's no reason to use strncpy here, in fact there's no reason to do
anything but a simple kstrdup() (note we don't even need to check for
failure since last_cmod is expected to be either the last cmd string
or NULL, and the containing function is a void return).
Link: https://lkml.kernel.org/r/77deca8cbfd226981b3f1eab203967381e9b5bd9.camel@kernel.org
Fixes: 27c888da9867 ("tracing: Remove size restriction on synthetic event cmd error logging")
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Tom Zanussi <zanussi@kernel.org>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Diffstat (limited to 'kernel/trace')
-rw-r--r-- | kernel/trace/trace_events_synth.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/kernel/trace/trace_events_synth.c b/kernel/trace/trace_events_synth.c index fdd79e07e2fc..5e8c07aef071 100644 --- a/kernel/trace/trace_events_synth.c +++ b/kernel/trace/trace_events_synth.c @@ -58,11 +58,8 @@ static void last_cmd_set(const char *str) return; kfree(last_cmd); - last_cmd = kzalloc(strlen(str) + 1, GFP_KERNEL); - if (!last_cmd) - return; - strncpy(last_cmd, str, strlen(str) + 1); + last_cmd = kstrdup(str, GFP_KERNEL); } static void synth_err(u8 err_type, u16 err_pos) |