mac80211_hwsim: drop pending frames on stop
authorJohannes Berg <johannes.berg@intel.com>
Mon, 17 May 2021 15:04:31 +0000 (17:04 +0200)
committerSasha Levin <sashal@kernel.org>
Wed, 30 Jun 2021 12:47:19 +0000 (08:47 -0400)
commita9028333001f793b2724e8be42fce3336de2cf1c
tree639ce5e15f9fb3b2be3c9c92aa080cd730fdcc27
parent8cfe765afd5a8d127770780f45fd971a28897484
mac80211_hwsim: drop pending frames on stop

[ Upstream commit bd18de517923903a177508fc8813f44e717b1c00 ]

Syzbot reports that we may be able to get into a situation where
mac80211 has pending ACK frames on shutdown with hwsim. It appears
that the reason for this is that syzbot uses the wmediumd hooks to
intercept/injection frames, and may shut down hwsim, removing the
radio(s), while frames are pending in the air simulation.

Clean out the pending queue when the interface is stopped, after
this the frames can't be reported back to mac80211 properly anyway.

Reported-by: syzbot+a063bbf0b15737362592@syzkaller.appspotmail.com
Link: https://lore.kernel.org/r/20210517170429.b0f85ab0eda1.Ie42a6ec6b940c971f3441286aeaaae2fe368e29a@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/wireless/mac80211_hwsim.c