2023-09-15 07:15:52

by Kees Cook

[permalink] [raw]
Subject: Re: [PATCH] firmware: ti_sci: refactor deprecated strncpy

On Wed, Sep 13, 2023 at 08:23:02PM +0000, Justin Stitt wrote:
> `strncpy` is deprecated for use on NUL-terminated destination strings [1].
>
> We should prefer more robust and less ambiguous string interfaces.
>
> A suitable replacement is `strscpy` [2] due to the fact that it guarantees
> NUL-termination on the destination buffer.
>
> It does not seem like `ver->firmware_description` requires NUL-padding
> (which is a behavior that strncpy provides) but if it does let's opt for
> `strscpy_pad()`.
>
> 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
> Cc: [email protected]
> Signed-off-by: Justin Stitt <[email protected]>

Looks right to me.

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

--
Kees Cook


2023-09-15 17:03:06

by Nishanth Menon

[permalink] [raw]
Subject: Re: [PATCH] firmware: ti_sci: refactor deprecated strncpy

On 21:03-20230914, Kees Cook wrote:
> On Wed, Sep 13, 2023 at 08:23:02PM +0000, Justin Stitt wrote:
> > `strncpy` is deprecated for use on NUL-terminated destination strings [1].
> >
> > We should prefer more robust and less ambiguous string interfaces.
> >
> > A suitable replacement is `strscpy` [2] due to the fact that it guarantees
> > NUL-termination on the destination buffer.
> >
> > It does not seem like `ver->firmware_description` requires NUL-padding
> > (which is a behavior that strncpy provides) but if it does let's opt for
> > `strscpy_pad()`.
> >
> > 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
> > Cc: [email protected]
> > Signed-off-by: Justin Stitt <[email protected]>
>
> Looks right to me.
>
> Reviewed-by: Kees Cook <[email protected]>

Does this belong to stable as well? If so, please add appropriate stable
process.

--
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D

2023-09-15 21:55:01

by Kees Cook

[permalink] [raw]
Subject: Re: [PATCH] firmware: ti_sci: refactor deprecated strncpy

On Fri, Sep 15, 2023 at 07:40:38AM -0500, Nishanth Menon wrote:
> On 21:03-20230914, Kees Cook wrote:
> > On Wed, Sep 13, 2023 at 08:23:02PM +0000, Justin Stitt wrote:
> > > `strncpy` is deprecated for use on NUL-terminated destination strings [1].
> > >
> > > We should prefer more robust and less ambiguous string interfaces.
> > >
> > > A suitable replacement is `strscpy` [2] due to the fact that it guarantees
> > > NUL-termination on the destination buffer.
> > >
> > > It does not seem like `ver->firmware_description` requires NUL-padding
> > > (which is a behavior that strncpy provides) but if it does let's opt for
> > > `strscpy_pad()`.
> > >
> > > 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
> > > Cc: [email protected]
> > > Signed-off-by: Justin Stitt <[email protected]>
> >
> > Looks right to me.
> >
> > Reviewed-by: Kees Cook <[email protected]>
>
> Does this belong to stable as well? If so, please add appropriate stable
> process.

No need. This is a refactoring only. :)

--
Kees Cook