Skip to content

Commit b0dee79

Browse files
shemmingerdavem330
authored andcommitted
hv_netvsc: fix locking during VF setup
The dev_uc/mc_sync calls need to have the device address list locked. This was spotted by running with lockdep enabled. Fixes: bee9d41 ("hv_netvsc: propagate rx filters to VF") Signed-off-by: Stephen Hemminger <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 35a57b7 commit b0dee79

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

drivers/net/hyperv/netvsc_drv.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1851,8 +1851,12 @@ static void __netvsc_vf_setup(struct net_device *ndev,
18511851

18521852
/* set multicast etc flags on VF */
18531853
dev_change_flags(vf_netdev, ndev->flags | IFF_SLAVE);
1854+
1855+
/* sync address list from ndev to VF */
1856+
netif_addr_lock_bh(ndev);
18541857
dev_uc_sync(vf_netdev, ndev);
18551858
dev_mc_sync(vf_netdev, ndev);
1859+
netif_addr_unlock_bh(ndev);
18561860

18571861
if (netif_running(ndev)) {
18581862
ret = dev_open(vf_netdev);

0 commit comments

Comments
 (0)