[PATCHv2 03/21] bridge: track inter-BSS usage

Jouni Malinen 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.

Thanks, applied.

-- 
Jouni Malinen                                            PGP id EFC895FA


More information about the HostAP mailing list