Message ID | 20210517170429.b0f85ab0eda1.Ie42a6ec6b940c971f3441286aeaaae2fe368e29a@changeid |
---|---|
State | New |
Headers | show |
Series | mac80211_hwsim: drop pending frames on stop | expand |
Hello, syzbot has tested the proposed patch and the reproducer did not trigger any issue: Reported-and-tested-by: syzbot+a063bbf0b15737362592@syzkaller.appspotmail.com Tested on: commit: d07f6ca9 Linux 5.13-rc2 git tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/ master kernel config: https://syzkaller.appspot.com/x/.config?x=81ee2b1d45eadfce dashboard link: https://syzkaller.appspot.com/bug?extid=a063bbf0b15737362592 compiler: patch: https://syzkaller.appspot.com/x/patch.diff?x=158f811dd00000 Note: testing is done by a robot and is best-effort only.
diff --git a/drivers/net/wireless/mac80211_hwsim.c b/drivers/net/wireless/mac80211_hwsim.c index 51ce767eaf88..7a6fd46d0c6e 100644 --- a/drivers/net/wireless/mac80211_hwsim.c +++ b/drivers/net/wireless/mac80211_hwsim.c @@ -1693,8 +1693,13 @@ static int mac80211_hwsim_start(struct ieee80211_hw *hw) static void mac80211_hwsim_stop(struct ieee80211_hw *hw) { struct mac80211_hwsim_data *data = hw->priv; + data->started = false; hrtimer_cancel(&data->beacon_timer); + + while (!skb_queue_empty(&data->pending)) + ieee80211_free_txskb(hw, skb_dequeue(&data->pending)); + wiphy_dbg(hw->wiphy, "%s\n", __func__); }