lkml.org 
[lkml]   [2021]   [Aug]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH net-next 02/21] ethtool, stats: add compile-time checks for standard stats
Date
Make sure that the number of counters inside stats structures is
with the corresponding Ethtool Netlink definitions.
RMON stats is a special case -- don't take histogram fields into
account.

Signed-off-by: Alexander Lobakin <alexandr.lobakin@intel.com>
Reviewed-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
---
net/ethtool/stats.c | 9 +++++++++
1 file changed, 9 insertions(+)

diff --git a/net/ethtool/stats.c b/net/ethtool/stats.c
index e35c87206b4c..8b5c27e034f9 100644
--- a/net/ethtool/stats.c
+++ b/net/ethtool/stats.c
@@ -117,6 +117,15 @@ static int stats_prepare_data(const struct ethnl_req_info *req_base,

ops = dev->ethtool_ops;

+ BUILD_BUG_ON(sizeof(data->phy_stats) / sizeof(u64) !=
+ __ETHTOOL_A_STATS_ETH_PHY_CNT);
+ BUILD_BUG_ON(sizeof(data->mac_stats) / sizeof(u64) !=
+ __ETHTOOL_A_STATS_ETH_MAC_CNT);
+ BUILD_BUG_ON(sizeof(data->ctrl_stats) / sizeof(u64) !=
+ __ETHTOOL_A_STATS_ETH_CTRL_CNT);
+ BUILD_BUG_ON(offsetof(typeof(data->rmon_stats), hist) / sizeof(u64) !=
+ __ETHTOOL_A_STATS_RMON_CNT);
+
/* Mark all stats as unset (see ETHTOOL_STAT_NOT_SET) to prevent them
* from being reported to user space in case driver did not set them.
*/
--
2.31.1
\
 
 \ /
  Last update: 2021-08-03 18:38    [W:0.781 / U:0.392 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site