]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
mac80211: Fix mesh estab_plinks counting in STA removal case
authorJouni Malinen <j@w1.fi>
Sun, 19 Jun 2016 20:51:02 +0000 (23:51 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 27 Jul 2016 15:42:07 +0000 (08:42 -0700)
commit18c1df61dd764c2dcd97a90af91ac5a64ad95fd6
tree940981b8592737695a8e35fcfae41bd42b3918db
parent9d8bdf761e1cc2739f87ddae1747400213a2ad97
mac80211: Fix mesh estab_plinks counting in STA removal case

commit 126e7557328a1cd576be4fca95b133a2695283ff upstream.

If a user space program (e.g., wpa_supplicant) deletes a STA entry that
is currently in NL80211_PLINK_ESTAB state, the number of established
plinks counter was not decremented and this could result in rejecting
new plink establishment before really hitting the real maximum plink
limit. For !user_mpm case, this decrementation is handled by
mesh_plink_deactive().

Fix this by decrementing estab_plinks on STA deletion
(mesh_sta_cleanup() gets called from there) so that the counter has a
correct value and the Beacon frame advertisement in Mesh Configuration
element shows the proper value for capability to accept additional
peers.

Signed-off-by: Jouni Malinen <j@w1.fi>
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/mac80211/mesh.c