Subject: Re: [PATCH net-next 0/7] net: intel: replace deprecated strncpy uses

From: Kees Cook <[email-masked]>
Date: Tue, 10 Oct 2023 16:31:32 -0700

On Tue, Oct 10, 2023 at 10:26:53PM +0000, Justin Stitt wrote:
> Hi,
> 
> This series aims to eliminate uses of strncpy() as it is a deprecated
> interface [1] with many viable replacements available.
> 
> Predominantly, strscpy() is the go-to replacement as it guarantees
> NUL-termination on the destination buffer (which strncpy does not). With
> that being said, I did not identify any buffer overread problems as the
> size arguments were carefully measured to leave room for trailing
> NUL-bytes. Nonetheless, we should favor more robust and less ambiguous
> interfaces.
> 
> Previously, each of these patches was sent individually at:
> 1) https://lore.kernel.org/all/2023[email-masked]/
> 2) https://lore.kernel.org/all/20231010-strncpy[email-masked]/
> 3) https://lore.kernel.org/all/20231010-strncpy-dr[email-masked]/
> 4) https://lore.kernel.org/all/20231010-strn[email-masked]/
> 5) https://lore.kernel.org/all/20231010-str[email-masked]/
> 6) https://lore.kernel.org/all/20231010-str[email-masked]/
> 7) https://lore.kernel.org/all/20231010-str[email-masked]/
> 
> Consider these dead as this series is their new home :)
> 
> I found all these instances with: $ rg "strncpy\("
> 
> This series may collide in a not-so-nice way with [3]. This series can
> go in after that one with a rebase. I'll send a v2 if necessary.
> 
> [3]: https://lore.kernel.org/netdev/[email-masked]/
> 
> Link: https://www.kernel.org/doc/html/latest/process/deprecated.html#strncpy-on-nul-terminated-strings [1]
> Link: https://manpages.debian.org/testing/linux-manual-4.8/strscpy.9.en.html [2]
> Link: https://github.com/KSPP/linux/issues/90
> Signed-off-by: Justin Stitt <[email-masked]>
> ---
> Justin Stitt (7):
>       e100: replace deprecated strncpy with strscpy
>       e1000: replace deprecated strncpy with strscpy
>       fm10k: replace deprecated strncpy with strscpy
>       i40e: use scnprintf over strncpy+strncat
>       igb: replace deprecated strncpy with strscpy
>       igbvf: replace deprecated strncpy with strscpy
>       igc: replace deprecated strncpy with strscpy

These all look good to me. Thanks for the careful analysis!

Reviewed-by: Kees Cook <[email-masked]>

-Kees

-- 
Kees Cook