mac80211: always wind down STA state
authorJohannes Berg <johannes.berg@intel.com>
Fri, 9 Oct 2020 12:17:11 +0000 (14:17 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Fri, 30 Oct 2020 09:05:12 +0000 (10:05 +0100)
commitdcd479e10a0510522a5d88b29b8f79ea3467d501
treef59402d8f2c3745d43a22cafe12cf57c44ae06a3
parent9bdaf3b91efd229dd272b228e13df10310c80d19
mac80211: always wind down STA state

When (for example) an IBSS station is pre-moved to AUTHORIZED
before it's inserted, and then the insertion fails, we don't
clean up the fast RX/TX states that might already have been
created, since we don't go through all the state transitions
again on the way down.

Do that, if it hasn't been done already, when the station is
freed. I considered only freeing the fast TX/RX state there,
but we might add more state so it's more robust to wind down
the state properly.

Note that we warn if the station was ever inserted, it should
have been properly cleaned up in that case, and the driver
will probably not like things happening out of order.

Reported-by: syzbot+2e293dbd67de2836ba42@syzkaller.appspotmail.com
Link: https://lore.kernel.org/r/20201009141710.7223b322a955.I95bd08b9ad0e039c034927cce0b75beea38e059b@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/sta_info.c