tracing: Replace strncpy() with strscpy() when copying comm
authorJinjie Ruan <ruanjinjie@huawei.com>
Thu, 31 Oct 2024 12:01:39 +0000 (20:01 +0800)
committerSteven Rostedt (Google) <rostedt@goodmis.org>
Fri, 1 Nov 2024 18:37:31 +0000 (14:37 -0400)
Replace the depreciated[1] strncpy() calls with strscpy()
when copying comm.

Link: https://github.com/KSPP/linux/issues/90
Cc: <mhiramat@kernel.org>
Cc: <mathieu.desnoyers@efficios.com>
Link: https://lore.kernel.org/20241031120139.1343025-1-ruanjinjie@huawei.com
Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
kernel/trace/trace.c
kernel/trace/trace_events_hist.c
kernel/trace/trace_sched_switch.c

index f1d613d924e95dad2a0cdb642e66d2d14b7a7abe..a587fd7d74474f8af3e66fc1b5f3db2d54b99913 100644 (file)
@@ -1921,7 +1921,7 @@ __update_max_tr(struct trace_array *tr, struct task_struct *tsk, int cpu)
        max_data->critical_start = data->critical_start;
        max_data->critical_end = data->critical_end;
 
-       strncpy(max_data->comm, tsk->comm, TASK_COMM_LEN);
+       strscpy(max_data->comm, tsk->comm);
        max_data->pid = tsk->pid;
        /*
         * If tsk == current, then use current_uid(), as that does not use
index cc2924ad32a3e1a1c67c5b93f802f8a61b43799a..c288b92fc4df6547f966ace5b3098f0a6adc6915 100644 (file)
@@ -1599,7 +1599,7 @@ static inline void save_comm(char *comm, struct task_struct *task)
                return;
        }
 
-       strncpy(comm, task->comm, TASK_COMM_LEN);
+       strscpy(comm, task->comm, TASK_COMM_LEN);
 }
 
 static void hist_elt_data_free(struct hist_elt_data *elt_data)
@@ -3405,7 +3405,7 @@ static bool cond_snapshot_update(struct trace_array *tr, void *cond_data)
        elt_data = context->elt->private_data;
        track_elt_data = track_data->elt.private_data;
        if (elt_data->comm)
-               strncpy(track_elt_data->comm, elt_data->comm, TASK_COMM_LEN);
+               strscpy(track_elt_data->comm, elt_data->comm, TASK_COMM_LEN);
 
        track_data->updated = true;
 
index 8a407adb0e1c4befc37215b8d191778ef1cd63e2..573b5d8e8a28e56603919eb2baa63d32a775af71 100644 (file)
@@ -187,7 +187,7 @@ static inline char *get_saved_cmdlines(int idx)
 
 static inline void set_cmdline(int idx, const char *cmdline)
 {
-       strncpy(get_saved_cmdlines(idx), cmdline, TASK_COMM_LEN);
+       strscpy(get_saved_cmdlines(idx), cmdline, TASK_COMM_LEN);
 }
 
 static void free_saved_cmdlines_buffer(struct saved_cmdlines_buffer *s)