kernel/trace/trace_sched_switch.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Kernel docs identify strncpy as being fragile and ambiguous. Replaced
strncpy with strscpy so dest str is null terminated and not padded.
Signed-off-by: Daniel Yang <danielyangkang@gmail.com>
---
kernel/trace/trace_sched_switch.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/trace/trace_sched_switch.c b/kernel/trace/trace_sched_switch.c
index 8a407adb0..573b5d8e8 100644
--- a/kernel/trace/trace_sched_switch.c
+++ b/kernel/trace/trace_sched_switch.c
@@ -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)
--
2.39.2
On Mon, 4 Nov 2024 23:20:07 -0800 Daniel Yang <danielyangkang@gmail.com> wrote: > Kernel docs identify strncpy as being fragile and ambiguous. Replaced > strncpy with strscpy so dest str is null terminated and not padded. > Already been updated: https://lore.kernel.org/linux-trace-kernel/20241031120139.1343025-1-ruanjinjie@huawei.com/ -- Steve > Signed-off-by: Daniel Yang <danielyangkang@gmail.com> > --- > kernel/trace/trace_sched_switch.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/kernel/trace/trace_sched_switch.c b/kernel/trace/trace_sched_switch.c > index 8a407adb0..573b5d8e8 100644 > --- a/kernel/trace/trace_sched_switch.c > +++ b/kernel/trace/trace_sched_switch.c > @@ -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)
© 2016 - 2024 Red Hat, Inc.