]> git.ipfire.org Git - thirdparty/hostap.git/commit
AP: Fix HT 20/40 co-ex transition timer cancellation on iface removal
authorMartin Willi <martin@strongswan.org>
Thu, 26 Apr 2018 12:27:05 +0000 (14:27 +0200)
committerJouni Malinen <j@w1.fi>
Tue, 12 Jun 2018 18:45:10 +0000 (21:45 +0300)
commit4a0e01156054c36b6eb92f07a812e60eafe8b1e9
tree01ac7bdc5b0e9a0611c77def4f5ad351989656a7
parentb915f2cdf21c6d8a4cec4752e8f904c35b66c243
AP: Fix HT 20/40 co-ex transition timer cancellation on iface removal

When removing an interface, hostapd_bss_deinit() frees all associated
STAs. If any of the stations is 40MHz intolerant, the cleanup invokes
ht40_intolerant_remove(), that in turn registers a 20->40MHz transition
timer for the last station (ap_ht2040_timeout() function). That timer is
never canceled; once it executes, the interface is gone, most likely
resulting in a segfault when referencing it.

While hostapd_interface_deinit() cancels the transition timer, it does
so before cleaning up STAs. Move the cancellation after STA cleanup to
cancel any timer that was registered during that operation.

Signed-off-by: Martin Willi <martin@strongswan.org>
src/ap/hostapd.c