790-20-v6.7-net-dsa-mt7530-replace-deprecated-strncpy-with-ethto.patch 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. From 51e9c79a4d40fa3a64c0fbdab1ebbebf7cce2dba Mon Sep 17 00:00:00 2001
  2. From: Justin Stitt <[email protected]>
  3. Date: Mon, 9 Oct 2023 18:29:19 +0000
  4. Subject: [PATCH 20/48] net: dsa: mt7530: replace deprecated strncpy with
  5. ethtool_sprintf
  6. `strncpy` is deprecated for use on NUL-terminated destination strings
  7. [1] and as such we should prefer more robust and less ambiguous string
  8. interfaces.
  9. ethtool_sprintf() is designed specifically for get_strings() usage.
  10. Let's replace strncpy in favor of this more robust and easier to
  11. understand interface.
  12. Link: https://www.kernel.org/doc/html/latest/process/deprecated.html#strncpy-on-nul-terminated-strings [1]
  13. Link: https://manpages.debian.org/testing/linux-manual-4.8/strscpy.9.en.html [2]
  14. Link: https://github.com/KSPP/linux/issues/90
  15. Signed-off-by: Justin Stitt <[email protected]>
  16. Reviewed-by: Kees Cook <[email protected]>
  17. Acked-by: Daniel Golle <[email protected]>
  18. Reviewed-by: Florian Fainelli <[email protected]>
  19. Reviewed-by: AngeloGioacchino Del Regno <[email protected]>
  20. Link: https://lore.kernel.org/r/20231009-strncpy-drivers-net-dsa-mt7530-c-v1-1-ec6677a6436a@google.com
  21. Signed-off-by: Jakub Kicinski <[email protected]>
  22. ---
  23. drivers/net/dsa/mt7530.c | 3 +--
  24. 1 file changed, 1 insertion(+), 2 deletions(-)
  25. --- a/drivers/net/dsa/mt7530.c
  26. +++ b/drivers/net/dsa/mt7530.c
  27. @@ -829,8 +829,7 @@ mt7530_get_strings(struct dsa_switch *ds
  28. return;
  29. for (i = 0; i < ARRAY_SIZE(mt7530_mib); i++)
  30. - strncpy(data + i * ETH_GSTRING_LEN, mt7530_mib[i].name,
  31. - ETH_GSTRING_LEN);
  32. + ethtool_sprintf(&data, "%s", mt7530_mib[i].name);
  33. }
  34. static void