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

From: John Paul Adrian Glaubitz
Date: Wed Jun 14 2023 - 15:24:13 EST


On Wed, 2023-06-14 at 12:03 -0700, Kees Cook wrote:
> 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. :)

I have tested the patch on my SH-7785LCR board on top of Linus' tree and
also acked it.

Thanks,
Adrian

--
.''`. John Paul Adrian Glaubitz
: :' : Debian Developer
`. `' Physicist
`- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913