Commit 43c00a75 authored by Jiri Pirko's avatar Jiri Pirko Committed by David S. Miller

qlcnic: guard __vlan_find_dev_deep() by rcu_read_lock

rcu_read_lock was missing here
Signed-off-by: default avatarJiri Pirko <jiri@resnulli.us>
Acked-by: default avatarSony Chacko <sony.chacko@qlogic.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 2eea05b0
...@@ -3186,12 +3186,14 @@ void qlcnic_restore_indev_addr(struct net_device *netdev, unsigned long event) ...@@ -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,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment