mirror of
https://github.com/torvalds/linux.git
synced 2024-12-27 05:11:48 +00:00
hv_netvsc: fix rtnl locking in callback
The function get_netvsc_net_device had conditional locking. This was unnecessary, incorrect, but harmless. It was unnecessary since the code is only called from netlink netdev event callback where RTNL is always acquired before the callbacks are run. It was incorrect because of use of trylock and then continuing. Fix by replacing with proper assertion. Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
01555e6449
commit
8737caafd1
@ -1167,9 +1167,8 @@ static void netvsc_free_netdev(struct net_device *netdev)
|
|||||||
static struct net_device *get_netvsc_net_device(char *mac)
|
static struct net_device *get_netvsc_net_device(char *mac)
|
||||||
{
|
{
|
||||||
struct net_device *dev, *found = NULL;
|
struct net_device *dev, *found = NULL;
|
||||||
int rtnl_locked;
|
|
||||||
|
|
||||||
rtnl_locked = rtnl_trylock();
|
ASSERT_RTNL();
|
||||||
|
|
||||||
for_each_netdev(&init_net, dev) {
|
for_each_netdev(&init_net, dev) {
|
||||||
if (memcmp(dev->dev_addr, mac, ETH_ALEN) == 0) {
|
if (memcmp(dev->dev_addr, mac, ETH_ALEN) == 0) {
|
||||||
@ -1179,8 +1178,6 @@ static struct net_device *get_netvsc_net_device(char *mac)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (rtnl_locked)
|
|
||||||
rtnl_unlock();
|
|
||||||
|
|
||||||
return found;
|
return found;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user