]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
e1000e: Don't return uninitialized stats
authorBenjamin Poirier <bpoirier@suse.com>
Wed, 17 May 2017 20:24:13 +0000 (16:24 -0400)
committerChuck Anderson <chuck.anderson@oracle.com>
Thu, 22 Jun 2017 06:24:40 +0000 (23:24 -0700)
Some statistics passed to ethtool are garbage because e1000e_get_stats64()
doesn't write them, for example: tx_heartbeat_errors. This leaks kernel
memory to userspace and confuses users.

Do like ixgbe and use dev_get_stats() which first zeroes out
rtnl_link_stats64.

Fixes: 5944701df90d ("net: remove useless memset's in drivers get_stats64")
Reported-by: Stefan Priebe <s.priebe@profihost.ag>
Signed-off-by: Benjamin Poirier <bpoirier@suse.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Orabug: 26243014
(cherry picked from commit 24ad2a9209a0bf1ec37fac25a011c98551865abb)
Signed-off-by: Jack Vogel <jack.vogel@oracle.com>
Reviewed-by: Ethan Zhao <ethan.zhao@oracle.com>
drivers/net/ethernet/intel/e1000e/ethtool.c

index e42dce3d368cc58f24fa16671012b863b9dac440..c4bc820b878c38ca10f1f412881bdcb8a932ab61 100644 (file)
@@ -2067,7 +2067,7 @@ static void e1000_get_ethtool_stats(struct net_device *netdev,
 
        pm_runtime_get_sync(netdev->dev.parent);
 
-       e1000e_get_stats64(netdev, &net_stats);
+       dev_get_stats(netdev, &net_stats);
 
        pm_runtime_put_sync(netdev->dev.parent);