aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorPatrick McHardy <kaber@trash.net>2007-07-14 21:52:56 -0400
committerDavid S. Miller <davem@davemloft.net>2007-07-14 21:52:56 -0400
commit6c78dcbd47a68a7d25d2bee7a6c74b9136cb5fde (patch)
tree21e4a2ea3eb7ed87ce525c59bb8c4d23d8c84589 /include/linux
parenta0a400d79e3dd7843e7e81baa3ef2957bdc292d0 (diff)
[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>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/if_vlan.h2
1 files changed, 0 insertions, 2 deletions
diff --git a/include/linux/if_vlan.h b/include/linux/if_vlan.h
index 61a57dc2ac99..7f71df4c952f 100644
--- a/include/linux/if_vlan.h
+++ b/include/linux/if_vlan.h
@@ -132,8 +132,6 @@ struct vlan_dev_info {
132 * made, in order to feed the right changes down 132 * made, in order to feed the right changes down
133 * to the real hardware... 133 * to the real hardware...
134 */ 134 */
135 int old_allmulti; /* similar to above. */
136 int old_promiscuity; /* similar to above. */
137 struct net_device *real_dev; /* the underlying device/interface */ 135 struct net_device *real_dev; /* the underlying device/interface */
138 unsigned char real_dev_addr[ETH_ALEN]; 136 unsigned char real_dev_addr[ETH_ALEN];
139 struct proc_dir_entry *dent; /* Holds the proc data */ 137 struct proc_dir_entry *dent; /* Holds the proc data */