From 52cf39eb4ed0aef1169244338f5c498b592b4fcc Mon Sep 17 00:00:00 2001 From: Dmitry Kozlov Date: Thu, 9 Oct 2014 21:53:17 +0400 Subject: ipoe: driver: add rtnl locking to vlan monitor initialization --- drivers/ipoe/ipoe.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'drivers/ipoe/ipoe.c') diff --git a/drivers/ipoe/ipoe.c b/drivers/ipoe/ipoe.c index cee7edb..2d05f42 100644 --- a/drivers/ipoe/ipoe.c +++ b/drivers/ipoe/ipoe.c @@ -1802,17 +1802,21 @@ static int ipoe_nl_cmd_add_vlan_mon(struct sk_buff *skb, struct genl_info *info) #if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) if (dev->features & NETIF_F_HW_VLAN_FILTER) { + rtnl_lock(); for (i = 1; i < 4096; i++) { if (!(d->vid[i / (8*sizeof(long))] & (1lu << (i % (8*sizeof(long)))))) dev->netdev_ops->ndo_vlan_rx_add_vid(dev, i); } + rtnl_unlock(); } #else if (dev->features & NETIF_F_HW_VLAN_CTAG_FILTER) { + rtnl_lock(); for (i = 1; i < 4096; i++) { if (!(d->vid[i / (8*sizeof(long))] & (1lu << (i % (8*sizeof(long)))))) dev->netdev_ops->ndo_vlan_rx_add_vid(dev, htons(ETH_P_8021Q), i); } + rtnl_unlock(); } #endif } -- cgit v1.2.3