tcp: Replace strncpy() with strscpy()
authorKees Cook <kees@kernel.org>
Sun, 14 Jul 2024 04:11:15 +0000 (21:11 -0700)
committerJakub Kicinski <kuba@kernel.org>
Tue, 16 Jul 2024 14:52:15 +0000 (07:52 -0700)
commita3bfc095060b51f0198755020daf80d1e14413b1
tree5e199f65a4dbd33599f45f1427312be2aa3369cd
parentb49991d83bba4ae77a560c5f021932e8290bd022
tcp: Replace strncpy() with strscpy()

Replace the deprecated[1] uses of strncpy() in tcp_ca_get_name_by_key()
and tcp_get_default_congestion_control(). The callers use the results as
standard C strings (via nla_put_string() and proc handlers respectively),
so trailing padding is not needed.

Since passing the destination buffer arguments decays it to a pointer,
the size can't be trivially determined by the compiler. ca->name is
the same length in both cases, so strscpy() won't fail (when ca->name
is NUL-terminated). Include the length explicitly instead of using the
2-argument strscpy().

Link: https://github.com/KSPP/linux/issues/90
Signed-off-by: Kees Cook <kees@kernel.org>
Reviewed-by: Simon Horman <horms@kernel.org>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Link: https://patch.msgid.link/20240714041111.it.918-kees@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/ipv4/tcp_cong.c