Re: [PATCH v2] net/ipv4/tcp_cong: Replace strncpy() with strscpy()

From: Paolo Abeni
Date: Tue Jul 16 2024 - 07:32:11 EST


On 7/15/24 11:41, Simon Horman wrote:
On Sat, Jul 13, 2024 at 09:11:15PM -0700, Kees Cook wrote:
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 [1]
Signed-off-by: Kees Cook <kees@xxxxxxxxxx>

nit: Looking at git history, the subject prefix should probably be 'tcp'.
And it would be best to explicitly target the patch against net-next.

Subject: [PATCH net-next v2] tcp: ...

That notwithstanding, this looks good to me.

Reviewed-by: Simon Horman <horms@xxxxxxxxxx>

@Eric: I can fix the prefix when applying the patch. Please LMK if you prefer otherwise.

Thanks,

Paolo