[VLAN]: Fix promiscous/allmulti synchronization races
authorPatrick McHardy <kaber@trash.net>
Sun, 15 Jul 2007 01:52:56 +0000 (18:52 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sun, 15 Jul 2007 01:52:56 +0000 (18:52 -0700)
commit6c78dcbd47a68a7d25d2bee7a6c74b9136cb5fde
tree21e4a2ea3eb7ed87ce525c59bb8c4d23d8c84589
parenta0a400d79e3dd7843e7e81baa3ef2957bdc292d0
[VLAN]: Fix promiscous/allmulti synchronization races

The set_multicast_list function may be called without holding the rtnl
mutex, resulting in races when changing the underlying device's promiscous
and allmulti state. Use the change_rx_mode hook, which is always invoked
under the rtnl.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/if_vlan.h
net/8021q/vlan.c
net/8021q/vlan.h
net/8021q/vlan_dev.c