public inbox for netdev@vger.kernel.org 
 help / color / mirror / Atom feed
* [PATCH net-next] drivers/net/ethernet/qualcomm/emac: Use strscpy() to copy the ethtool strings
@ 2026-06-08  9:55 david.laight.linux
  2026-06-09 15:08 ` Timur Tabi
  2026-06-09 15:10 ` Timur Tabi
  0 siblings, 2 replies; 4+ messages in thread
From: david.laight.linux @ 2026-06-08  9:55 UTC (permalink / raw)
  To: Kees Cook, linux-hardening, linux-kernel, netdev
  Cc: Arnd Bergmann, Andrew Lunn, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Timur Tabi, David Laight

From: David Laight <david.laight.linux@gmail•com>

While the string is short it is still best to use strscpy()
with length ETH_GSTRING_LEN.
Should still get optimised to a memcpy().

Signed-off-by: David Laight <david.laight.linux@gmail•com>
---
This is one of a group of patches that remove potentially unbounded
strcpy() calls.

They are mostly replaced by strscpy() or, when strlen() has just been
called, with memcpy() (usually including the '\0').

Calls with copy string literals into arrays are left unchanged.
They are safe and easily detected as such.

The changes were made by getting the compiler to detect the calls and
then fixing the code by hand.

Note that all the changes are only compile tested.

Some Makefiles were changed to allow files to contain strcpy().
As well as 'difficult to fix' files, this included 'show' functions
as they really need to use sysfs_emit() or seq_printf().

All the patches are being sent individually to avoid very long cc lists.
Apologies for the terse commit messages and likely unexpected tags.
(There are about 100 patches in total.)

 drivers/net/ethernet/qualcomm/emac/emac-ethtool.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/qualcomm/emac/emac-ethtool.c b/drivers/net/ethernet/qualcomm/emac/emac-ethtool.c
index f502db9cdea9..ffc300641aac 100644
--- a/drivers/net/ethernet/qualcomm/emac/emac-ethtool.c
+++ b/drivers/net/ethernet/qualcomm/emac/emac-ethtool.c
@@ -95,7 +95,7 @@ static void emac_get_strings(struct net_device *netdev, u32 stringset, u8 *data)
 
 	switch (stringset) {
 	case ETH_SS_PRIV_FLAGS:
-		strcpy(data, "single-pause-mode");
+		strscpy(data, "single-pause-mode", ETH_GSTRING_LEN);
 		break;
 
 	case ETH_SS_STATS:
-- 
2.39.5


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

* Re: [PATCH net-next] drivers/net/ethernet/qualcomm/emac: Use strscpy() to copy the ethtool strings
  2026-06-08  9:55 [PATCH net-next] drivers/net/ethernet/qualcomm/emac: Use strscpy() to copy the ethtool strings david.laight.linux
@ 2026-06-09 15:08 ` Timur Tabi
  2026-06-09 15:09   ` Timur Tabi
  2026-06-09 15:10 ` Timur Tabi
  1 sibling, 1 reply; 4+ messages in thread
From: Timur Tabi @ 2026-06-09 15:08 UTC (permalink / raw)
  To: david.laight.linux
  Cc: Kees Cook, linux-hardening, linux-kernel, netdev, Arnd Bergmann,
	Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni, Timur Tabi

On Mon, Jun 8, 2026 at 4:55 AM <david.laight.linux@gmail•com> wrote:
>
> diff --git a/drivers/net/ethernet/qualcomm/emac/emac-ethtool.c b/drivers/net/ethernet/qualcomm/emac/emac-ethtool.c
> index f502db9cdea9..ffc300641aac 100644
> --- a/drivers/net/ethernet/qualcomm/emac/emac-ethtool.c
> +++ b/drivers/net/ethernet/qualcomm/emac/emac-ethtool.c
> @@ -95,7 +95,7 @@ static void emac_get_strings(struct net_device *netdev, u32 stringset, u8 *data)
>
>         switch (stringset) {
>         case ETH_SS_PRIV_FLAGS:
> -               strcpy(data, "single-pause-mode");
> +               strscpy(data, "single-pause-mode", ETH_GSTRING_LEN);
>                 break;

It would be better to replace this with a call to ethtool_sprintf(),
which already takes ETH_GSTRING_LEN into account.  And may as well
update the ETH_SS_STATS case underneath it.

>         case ETH_SS_STATS:
> --
> 2.39.5
>

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

* Re: [PATCH net-next] drivers/net/ethernet/qualcomm/emac: Use strscpy() to copy the ethtool strings
  2026-06-09 15:08 ` Timur Tabi
@ 2026-06-09 15:09   ` Timur Tabi
  0 siblings, 0 replies; 4+ messages in thread
From: Timur Tabi @ 2026-06-09 15:09 UTC (permalink / raw)
  To: Timur Tabi
  Cc: david.laight.linux, Kees Cook, linux-hardening, linux-kernel,
	netdev, Arnd Bergmann, Andrew Lunn, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni

On Tue, Jun 9, 2026 at 10:08 AM Timur Tabi <timur@kernel•org> wrote:

> It would be better to replace this with a call to ethtool_sprintf(),
> which already takes ETH_GSTRING_LEN into account.  And may as well
> update the ETH_SS_STATS case underneath it.

Actually, on second thought, I take that back.  There are no format
strings, so no need for sprintf.

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

* Re: [PATCH net-next] drivers/net/ethernet/qualcomm/emac: Use strscpy() to copy the ethtool strings
  2026-06-08  9:55 [PATCH net-next] drivers/net/ethernet/qualcomm/emac: Use strscpy() to copy the ethtool strings david.laight.linux
  2026-06-09 15:08 ` Timur Tabi
@ 2026-06-09 15:10 ` Timur Tabi
  1 sibling, 0 replies; 4+ messages in thread
From: Timur Tabi @ 2026-06-09 15:10 UTC (permalink / raw)
  To: david.laight.linux
  Cc: Kees Cook, linux-hardening, linux-kernel, netdev, Arnd Bergmann,
	Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni, Timur Tabi

> diff --git a/drivers/net/ethernet/qualcomm/emac/emac-ethtool.c b/drivers/net/ethernet/qualcomm/emac/emac-ethtool.c
> index f502db9cdea9..ffc300641aac 100644
> --- a/drivers/net/ethernet/qualcomm/emac/emac-ethtool.c
> +++ b/drivers/net/ethernet/qualcomm/emac/emac-ethtool.c
> @@ -95,7 +95,7 @@ static void emac_get_strings(struct net_device *netdev, u32 stringset, u8 *data)
>
>         switch (stringset) {
>         case ETH_SS_PRIV_FLAGS:
> -               strcpy(data, "single-pause-mode");
> +               strscpy(data, "single-pause-mode", ETH_GSTRING_LEN);
>                 break;

Acked-by: Timur Tabi <timur@kernel•org>

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

end of thread, other threads:[~2026-06-09 15:11 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-08  9:55 [PATCH net-next] drivers/net/ethernet/qualcomm/emac: Use strscpy() to copy the ethtool strings david.laight.linux
2026-06-09 15:08 ` Timur Tabi
2026-06-09 15:09   ` Timur Tabi
2026-06-09 15:10 ` Timur Tabi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox