qlcnic: guard __vlan_find_dev_deep() by rcu_read_lock
rcu_read_lock was missing here Signed-off-by: Jiri Pirko <jiri@resnulli.us> Acked-by: Sony Chacko <sony.chacko@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
2eea05b0de
commit
43c00a75d2
@ -3186,12 +3186,14 @@ void qlcnic_restore_indev_addr(struct net_device *netdev, unsigned long event)
|
|||||||
|
|
||||||
qlcnic_config_indev_addr(adapter, netdev, event);
|
qlcnic_config_indev_addr(adapter, netdev, event);
|
||||||
|
|
||||||
|
rcu_read_lock();
|
||||||
for_each_set_bit(vid, adapter->vlans, VLAN_N_VID) {
|
for_each_set_bit(vid, adapter->vlans, VLAN_N_VID) {
|
||||||
dev = __vlan_find_dev_deep(netdev, vid);
|
dev = __vlan_find_dev_deep(netdev, vid);
|
||||||
if (!dev)
|
if (!dev)
|
||||||
continue;
|
continue;
|
||||||
qlcnic_config_indev_addr(adapter, dev, event);
|
qlcnic_config_indev_addr(adapter, dev, event);
|
||||||
}
|
}
|
||||||
|
rcu_read_unlock();
|
||||||
}
|
}
|
||||||
|
|
||||||
static int qlcnic_netdev_event(struct notifier_block *this,
|
static int qlcnic_netdev_event(struct notifier_block *this,
|
||||||
|
Loading…
Reference in New Issue
Block a user