Re: [PATCH] sh: Replace all non-returning strlcpy with strscpy

From: Kees Cook
Date: Wed Jun 14 2023 - 15:03:41 EST


On Wed, Jun 14, 2023 at 08:49:13PM +0200, John Paul Adrian Glaubitz wrote:
> Hi Kees!
>
> On Wed, 2023-06-14 at 11:44 -0700, Kees Cook wrote:
> > On Tue, 30 May 2023 16:30:41 +0000, Azeem Shaikh wrote:
> > > strlcpy() reads the entire source buffer first.
> > > This read may exceed the destination size limit.
> > > This is both inefficient and can lead to linear read
> > > overflows if a source string is not NUL-terminated [1].
> > > In an effort to remove strlcpy() completely [2], replace
> > > strlcpy() here with strscpy().
> > > No return values were used, so direct replacement is safe.
> > >
> > > [...]
> >
> > Build tested with sh4 GCC 13.1 from:
> > https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/13.1.0/
> >
> > with defconfig and:
> > CONFIG_CPU_SUBTYPE_SH7343=y
> > CONFIG_SH_DMA=y
> > CONFIG_SH_DMA_API=y
> >
> > Applied to for-next/hardening, thanks!
> >
> > [1/1] sh: Replace all non-returning strlcpy with strscpy
> > https://git.kernel.org/kees/c/ca64da3052be
> >
>
> Apologies, this fell off my table. I should have acked and tested this being the
> SuperH maintainer. If you can still update the patch in your tree, I can both
> test and ack this patch.

Absolutely! Thanks for double-checking. :)

-Kees

--
Kees Cook