[PATCHv2 03/21] bridge: track inter-BSS usage
j at w1.fi
Tue Jun 25 04:57:23 EDT 2013
On Fri, May 17, 2013 at 09:49:19AM +0200, Michael Braun wrote:
> Currently, struct hostapd_vlan is a per-BSS data structure which
> also contains informations about whether to remove the bridge
> or clear wlan / tagged-vlan interface from the bridge.
> In a multi-interface multi-BSS setup, this can lead to the following
> race condition:
> 1. wlan0 creates VLAN A, sets DVLAN_CLEAN_BR and DVLAN_CLEAN_VLAN_PORT
> 2. wlan1 creates VLAN A, does not set DVLAN_CLEAN_BR and DVLAN_CLEAN_VLAN_PORT
> as already there
> 3. wlan0 removes VLAN A, removes tagged-interface from the bridge
> but not the bridge.
> Now wlan1 VLAN A is unusable due to the missing uplink.
> 4. wlan1 removes VLAN A, does not cleanup
> Solution: This requires an inter-BSS inter-interface data structure
> to track the bridge / bridge port usage within hostapd.
> This data structure could also be used to track any other
> device-has-been-created-by-hostapd information or when
> retarding interface freeing.
Jouni Malinen PGP id EFC895FA
More information about the HostAP