From: Sean Chang <seanwascoding@gmail.com>
To: Andy Shevchenko <andriy.shevchenko@intel.com>,
Andrew Lunn <andrew@lunn.ch>,
Nicolas Ferre <nicolas.ferre@microchip.com>,
Claudiu Beznea <claudiu.beznea@tuxon.dev>
Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
Sean Chang <seanwascoding@gmail.com>
Subject: [PATCH] net: macb: use ethtool_sprintf to fill ethtool stats strings
Date: Mon, 2 Mar 2026 22:29:31 +0800 [thread overview]
Message-ID: <20260302142931.49108-1-seanwascoding@gmail.com> (raw)
The RISC-V toolchain triggers a stringop-truncation warning when using
snprintf() with a fixed ETH_GSTRING_LEN (32 bytes) buffer.
Convert the driver to use the modern ethtool_sprintf() API from
linux/ethtool.h. This removes the need for manual snprintf() and
memcpy() calls, handles the 32-byte padding automatically, and
simplifies the logic by removing manual pointer arithmetic.
Suggested-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@intel.com>
Signed-off-by: Sean Chang <seanwascoding@gmail.com>
---
his patch was previously part of a SUNRPC/NFSD series [1], but is now
sent as a standalone cleanup as suggested by Andy Shevchenko to avoid
cross-subsystem dependencies.
[1] https://lore.kernel.org/all/20260301161709.1365975-1-seanwascoding@gmail.com/
drivers/net/ethernet/cadence/macb_main.c | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c
index 5bc35f651ebd..dadfedd6d799 100644
--- a/drivers/net/ethernet/cadence/macb_main.c
+++ b/drivers/net/ethernet/cadence/macb_main.c
@@ -3145,7 +3145,6 @@ static int gem_get_sset_count(struct net_device *dev, int sset)
static void gem_get_ethtool_strings(struct net_device *dev, u32 sset, u8 *p)
{
- char stat_string[ETH_GSTRING_LEN];
struct macb *bp = netdev_priv(dev);
struct macb_queue *queue;
unsigned int i;
@@ -3158,11 +3157,8 @@ static void gem_get_ethtool_strings(struct net_device *dev, u32 sset, u8 *p)
ETH_GSTRING_LEN);
for (q = 0, queue = bp->queues; q < bp->num_queues; ++q, ++queue) {
- for (i = 0; i < QUEUE_STATS_LEN; i++, p += ETH_GSTRING_LEN) {
- snprintf(stat_string, ETH_GSTRING_LEN, "q%d_%s",
- q, queue_statistics[i].stat_string);
- memcpy(p, stat_string, ETH_GSTRING_LEN);
- }
+ for (i = 0; i < QUEUE_STATS_LEN; i++)
+ ethtool_sprintf(&p, "q%u_%s", q, queue_statistics[i].stat_string);
}
break;
}
--
2.34.1
next reply other threads:[~2026-03-02 14:29 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-02 14:29 Sean Chang [this message]
2026-03-04 1:30 ` [PATCH] net: macb: use ethtool_sprintf to fill ethtool stats strings patchwork-bot+netdevbpf
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260302142931.49108-1-seanwascoding@gmail.com \
--to=seanwascoding@gmail.com \
--cc=andrew@lunn.ch \
--cc=andriy.shevchenko@intel.com \
--cc=claudiu.beznea@tuxon.dev \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=nicolas.ferre@microchip.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.