Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -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,