2022-02-03 13:36:38

by Steen Hegelund

[permalink] [raw]
Subject: [PATCH net] net: sparx5: Fix get_stat64 crash in tcpdump

This problem was found with Sparx5 when the tcpdump tool requests the
do_get_stats64 (sparx5_get_stats64) statistic.

The portstats pointer was incorrectly incremented when fetching priority
based statistics.

Fixes: af4b11022e2d (net: sparx5: add ethtool configuration and statistics support)
Signed-off-by: Steen Hegelund <[email protected]>
---
drivers/net/ethernet/microchip/sparx5/sparx5_ethtool.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/microchip/sparx5/sparx5_ethtool.c b/drivers/net/ethernet/microchip/sparx5/sparx5_ethtool.c
index 59783fc46a7b..10b866e9f726 100644
--- a/drivers/net/ethernet/microchip/sparx5/sparx5_ethtool.c
+++ b/drivers/net/ethernet/microchip/sparx5/sparx5_ethtool.c
@@ -1103,7 +1103,7 @@ void sparx5_get_stats64(struct net_device *ndev,
stats->tx_carrier_errors = portstats[spx5_stats_tx_csense_cnt];
stats->tx_window_errors = portstats[spx5_stats_tx_late_coll_cnt];
stats->rx_dropped = portstats[spx5_stats_ana_ac_port_stat_lsb_cnt];
- for (idx = 0; idx < 2 * SPX5_PRIOS; ++idx, ++stats)
+ for (idx = 0; idx < 2 * SPX5_PRIOS; ++idx)
stats->rx_dropped += portstats[spx5_stats_green_p0_rx_port_drop
+ idx];
stats->tx_dropped = portstats[spx5_stats_tx_local_drop];
--
2.35.1


2022-02-04 19:19:18

by patchwork-bot+netdevbpf

[permalink] [raw]
Subject: Re: [PATCH net] net: sparx5: Fix get_stat64 crash in tcpdump

Hello:

This patch was applied to netdev/net.git (master)
by Jakub Kicinski <[email protected]>:

On Thu, 3 Feb 2022 11:29:00 +0100 you wrote:
> This problem was found with Sparx5 when the tcpdump tool requests the
> do_get_stats64 (sparx5_get_stats64) statistic.
>
> The portstats pointer was incorrectly incremented when fetching priority
> based statistics.
>
> Fixes: af4b11022e2d (net: sparx5: add ethtool configuration and statistics support)
> Signed-off-by: Steen Hegelund <[email protected]>
>
> [...]

Here is the summary with links:
- [net] net: sparx5: Fix get_stat64 crash in tcpdump
https://git.kernel.org/netdev/net/c/ed14fc7a79ab

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html