linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] firmware: ti_sci: refactor deprecated strncpy
@ 2023-09-13 20:23 Justin Stitt
  2023-09-15  4:03 ` Kees Cook
  2023-09-20 12:54 ` Nishanth Menon
  0 siblings, 2 replies; 5+ messages in thread
From: Justin Stitt @ 2023-09-13 20:23 UTC (permalink / raw)
  To: Nishanth Menon, Tero Kristo, Santosh Shilimkar
  Cc: linux-arm-kernel, linux-kernel, linux-hardening, Justin Stitt

`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: linux-hardening@vger.kernel.org
Signed-off-by: Justin Stitt <justinstitt@google.com>
---
Note: build-tested only.
---
 drivers/firmware/ti_sci.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/firmware/ti_sci.c b/drivers/firmware/ti_sci.c
index 26a37f47f4ca..ce546f391959 100644
--- a/drivers/firmware/ti_sci.c
+++ b/drivers/firmware/ti_sci.c
@@ -485,7 +485,7 @@ static int ti_sci_cmd_get_revision(struct ti_sci_info *info)
 	ver->abi_major = rev_info->abi_major;
 	ver->abi_minor = rev_info->abi_minor;
 	ver->firmware_revision = rev_info->firmware_revision;
-	strncpy(ver->firmware_description, rev_info->firmware_description,
+	strscpy(ver->firmware_description, rev_info->firmware_description,
 		sizeof(ver->firmware_description));
 
 fail:

---
base-commit: 3669558bdf354cd352be955ef2764cde6a9bf5ec
change-id: 20230913-strncpy-drivers-firmware-ti_sci-c-22667413c18f

Best regards,
--
Justin Stitt <justinstitt@google.com>


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] firmware: ti_sci: refactor deprecated strncpy
  2023-09-13 20:23 [PATCH] firmware: ti_sci: refactor deprecated strncpy Justin Stitt
@ 2023-09-15  4:03 ` Kees Cook
  2023-09-15 12:40   ` Nishanth Menon
  2023-09-20 12:54 ` Nishanth Menon
  1 sibling, 1 reply; 5+ messages in thread
From: Kees Cook @ 2023-09-15  4:03 UTC (permalink / raw)
  To: Justin Stitt
  Cc: Nishanth Menon, Tero Kristo, Santosh Shilimkar, linux-arm-kernel,
	linux-kernel, linux-hardening

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: linux-hardening@vger.kernel.org
> Signed-off-by: Justin Stitt <justinstitt@google.com>

Looks right to me.

Reviewed-by: Kees Cook <keescook@chromium.org>

-- 
Kees Cook

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] firmware: ti_sci: refactor deprecated strncpy
  2023-09-15  4:03 ` Kees Cook
@ 2023-09-15 12:40   ` Nishanth Menon
  2023-09-15 17:13     ` Kees Cook
  0 siblings, 1 reply; 5+ messages in thread
From: Nishanth Menon @ 2023-09-15 12:40 UTC (permalink / raw)
  To: Kees Cook
  Cc: Justin Stitt, Tero Kristo, Santosh Shilimkar, linux-arm-kernel,
	linux-kernel, linux-hardening

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: linux-hardening@vger.kernel.org
> > Signed-off-by: Justin Stitt <justinstitt@google.com>
> 
> Looks right to me.
> 
> Reviewed-by: Kees Cook <keescook@chromium.org>

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

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] firmware: ti_sci: refactor deprecated strncpy
  2023-09-15 12:40   ` Nishanth Menon
@ 2023-09-15 17:13     ` Kees Cook
  0 siblings, 0 replies; 5+ messages in thread
From: Kees Cook @ 2023-09-15 17:13 UTC (permalink / raw)
  To: Nishanth Menon
  Cc: Justin Stitt, Tero Kristo, Santosh Shilimkar, linux-arm-kernel,
	linux-kernel, linux-hardening

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: linux-hardening@vger.kernel.org
> > > Signed-off-by: Justin Stitt <justinstitt@google.com>
> > 
> > Looks right to me.
> > 
> > Reviewed-by: Kees Cook <keescook@chromium.org>
> 
> Does this belong to stable as well? If so, please add appropriate stable
> process.

No need. This is a refactoring only. :)

-- 
Kees Cook

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] firmware: ti_sci: refactor deprecated strncpy
  2023-09-13 20:23 [PATCH] firmware: ti_sci: refactor deprecated strncpy Justin Stitt
  2023-09-15  4:03 ` Kees Cook
@ 2023-09-20 12:54 ` Nishanth Menon
  1 sibling, 0 replies; 5+ messages in thread
From: Nishanth Menon @ 2023-09-20 12:54 UTC (permalink / raw)
  To: Tero Kristo, Santosh Shilimkar, Justin Stitt
  Cc: Nishanth Menon, linux-arm-kernel, linux-kernel, linux-hardening

Hi Justin Stitt,

On Wed, 13 Sep 2023 20:23:02 +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.
> 
> [...]

I have applied the following to branch ti-drivers-soc-next on [1].
Thank you!

[1/1] firmware: ti_sci: refactor deprecated strncpy
      commit: d8cce0d5ba4a3157a7a549b9623d1ffc5820ef92

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent up the chain during
the next merge window (or sooner if it is a relevant bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux.git
-- 
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3  1A34 DDB5 849D 1736 249D


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-09-20 12:55 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-13 20:23 [PATCH] firmware: ti_sci: refactor deprecated strncpy Justin Stitt
2023-09-15  4:03 ` Kees Cook
2023-09-15 12:40   ` Nishanth Menon
2023-09-15 17:13     ` Kees Cook
2023-09-20 12:54 ` Nishanth Menon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).