Re: [PATCH v4] arm64/sysreg: refactor deprecated strncpy

From: Justin Stitt
Date: Wed Sep 06 2023 - 19:24:55 EST


On Wed, Sep 6, 2023 at 11:48 AM Will Deacon <will@xxxxxxxxxx> wrote:
>
> On Tue, Sep 05, 2023 at 08:10:21PM +0000, Justin Stitt wrote:
> > strncpy is deprecated [1] and should not be used if the src string is
> > not NUL-terminated.
> >
> > When dealing with `cmdline` we are counting the number of characters
> > until a space then copying these over into `buf`. Let's not use any of
> > the str*() functions since the src string is not necessarily NUL-terminated.
> >
> > Prefer `memcpy()` alongside a forced NUL-termination as it more
> > accurately describes what is going on within this function, i.e: copying
> > from non NUL-terminated buffer into a NUL-terminated buffer.
> >
> > Link: https://www.kernel.org/doc/html/latest/process/deprecated.html#strncpy-on-nul-terminated-strings [1]
> > Link: https://github.com/KSPP/linux/issues/90
> > Cc: linux-hardening@xxxxxxxxxxxxxxx
> > Suggested-by: Kees Cook <keescook@xxxxxxxxxxxx>
> > Signed-off-by: Justin Stitt <justinstitt@xxxxxxxxxx>
> > ---
> > Changes in v4:
> > - rebase onto mainline (thanks Will)
> > - Link to v3: https://lore.kernel.org/r/20230831-strncpy-arch-arm64-v3-1-cdbb1e7ea5e1@xxxxxxxxxx
>
> The original patch converting the strncpy() to strscpy() has already landed
> upstream, so this doesn't apply as-is.
>
> Rather than go through a v5, I've reverted your original patch and squashed
> this on top with a new commit message. I'll push it out tomorrow on to the
> arm64 fixes branch.
Thanks! Sorry I hadn't noticed it go through -- especially with all
the reviews surrounding the patches.

>
> Thanks,
>
> Will