To prevent errors from occurring when the src string is longer than the dst
string in strcpy(), we should use __get_task_comm() instead. This approach
also facilitates future extensions to the task comm.

Signed-off-by: Yafang Shao <laoar.s...@gmail.com>
Cc: "David S. Miller" <da...@davemloft.net>
Cc: David Ahern <dsah...@kernel.org>
Cc: Eric Dumazet <eduma...@google.com>
Cc: Jakub Kicinski <k...@kernel.org>
Cc: Paolo Abeni <pab...@redhat.com>
---
 net/ipv6/ndisc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/ipv6/ndisc.c b/net/ipv6/ndisc.c
index d914b23256ce..37fa3b69df45 100644
--- a/net/ipv6/ndisc.c
+++ b/net/ipv6/ndisc.c
@@ -1942,7 +1942,7 @@ static void ndisc_warn_deprecated_sysctl(struct ctl_table 
*ctl,
        static char warncomm[TASK_COMM_LEN];
        static int warned;
        if (strcmp(warncomm, current->comm) && warned < 5) {
-               strcpy(warncomm, current->comm);
+               __get_task_comm(warncomm, TASK_COMM_LEN, current);
                pr_warn("process `%s' is using deprecated sysctl (%s) 
net.ipv6.neigh.%s.%s - use net.ipv6.neigh.%s.%s_ms instead\n",
                        warncomm, func,
                        dev_name, ctl->procname,
-- 
2.39.1

Reply via email to