netvsc: fix rcu dereference warning from ethtool
authorstephen hemminger <stephen@networkplumber.org>
Wed, 7 Jun 2017 22:53:47 +0000 (15:53 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 8 Jun 2017 15:45:48 +0000 (11:45 -0400)
The ethtool info command calls the netvsc get_sset_count with RTNL
but not with RCU. Which causes warning:

drivers/net/hyperv/netvsc_drv.c:1010 suspicious rcu_dereference_check() usage!

Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/hyperv/netvsc_drv.c

index 4421a6d..d93e4da 100644 (file)
@@ -1028,7 +1028,7 @@ static const struct {
 static int netvsc_get_sset_count(struct net_device *dev, int string_set)
 {
        struct net_device_context *ndc = netdev_priv(dev);
-       struct netvsc_device *nvdev = rcu_dereference(ndc->nvdev);
+       struct netvsc_device *nvdev = rtnl_dereference(ndc->nvdev);
 
        if (!nvdev)
                return -ENODEV;