diff options
| author | Patrick McHardy <kaber@trash.net> | 2007-07-14 21:52:56 -0400 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2007-07-14 21:52:56 -0400 |
| commit | 6c78dcbd47a68a7d25d2bee7a6c74b9136cb5fde (patch) | |
| tree | 21e4a2ea3eb7ed87ce525c59bb8c4d23d8c84589 /include/linux | |
| parent | a0a400d79e3dd7843e7e81baa3ef2957bdc292d0 (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.h | 2 |
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 */ |
