diff options
author | Azeem Shaikh <azeemshaikh38@gmail.com> | 2023-08-31 22:42:12 +0300 |
---|---|---|
committer | Steven Rostedt (Google) <rostedt@goodmis.org> | 2023-09-02 04:00:00 +0300 |
commit | 2933d3cd079d3bf6fded709de7d97c1dc71d9633 (patch) | |
tree | f704d30967eb2ac4db90528007c8be967261b68e /include/trace/events/task.h | |
parent | 3163f635b20e9e1fb4659e74f47918c9dddfe64e (diff) | |
download | linux-2933d3cd079d3bf6fded709de7d97c1dc71d9633.tar.xz |
tracing: Replace strlcpy with strscpy in trace/events/task.h
strlcpy() reads the entire source buffer first.
This read may exceed the destination size limit.
This is both inefficient and can lead to linear read
overflows if a source string is not NUL-terminated [1].
In an effort to remove strlcpy() completely [2], replace
strlcpy() here with strscpy().
No return values were used, so direct replacement is safe.
[1] https://www.kernel.org/doc/html/latest/process/deprecated.html#strlcpy
[2] https://github.com/KSPP/linux/issues/89
Link: https://lore.kernel.org/linux-trace-kernel/20230831194212.1529941-1-azeemshaikh38@gmail.com
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Reviewed-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Azeem Shaikh <azeemshaikh38@gmail.com>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Diffstat (limited to 'include/trace/events/task.h')
-rw-r--r-- | include/trace/events/task.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/trace/events/task.h b/include/trace/events/task.h index 64d160930b0d..47b527464d1a 100644 --- a/include/trace/events/task.h +++ b/include/trace/events/task.h @@ -47,7 +47,7 @@ TRACE_EVENT(task_rename, TP_fast_assign( __entry->pid = task->pid; memcpy(entry->oldcomm, task->comm, TASK_COMM_LEN); - strlcpy(entry->newcomm, comm, TASK_COMM_LEN); + strscpy(entry->newcomm, comm, TASK_COMM_LEN); __entry->oom_score_adj = task->signal->oom_score_adj; ), |