Replace strcpy() with strscpy() in __trace_find_cmdline() for
consistency with the existing strscpy() call in the same function,
and to avoid potential buffer overflow as flagged by the Kernel
Self Protection Project.

Signed-off-by: Po-Sheng Lin <[email protected]>
---
 kernel/trace/trace_sched_switch.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/kernel/trace/trace_sched_switch.c 
b/kernel/trace/trace_sched_switch.c
index e9f0ff9626600..1bd351c1fbfb5 100644
--- a/kernel/trace/trace_sched_switch.c
+++ b/kernel/trace/trace_sched_switch.c
@@ -286,12 +286,12 @@ static void __trace_find_cmdline(int pid, char comm[])
        int tpid;
 
        if (!pid) {
-               strcpy(comm, "<idle>");
+               strscpy(comm, "<idle>", TASK_COMM_LEN);
                return;
        }
 
        if (WARN_ON_ONCE(pid < 0)) {
-               strcpy(comm, "<XXX>");
+               strscpy(comm, "<XXX>", TASK_COMM_LEN);
                return;
        }
 
@@ -304,7 +304,7 @@ static void __trace_find_cmdline(int pid, char comm[])
                        return;
                }
        }
-       strcpy(comm, "<...>");
+       strscpy(comm, "<...>", TASK_COMM_LEN);
 }
 
 void trace_find_cmdline(int pid, char comm[])
-- 
2.40.1


Reply via email to