Subject: Re: [PATCH v2] wifi: mac80211: do not abuse fq.lock in ieee80211_do_stop()

From: Kalle Valo <[email-masked]>
Date: Tue, 26 Jul 2022 17:38:18 +0300

(please don't top post, I manually fixed that)

Tetsuo Handa <[email-masked]> writes:

> On 2022/07/18 21:01, Kalle Valo wrote:
>> Tetsuo Handa <[email-masked]> wrote:
>> 
>>> lockdep complains use of uninitialized spinlock at ieee80211_do_stop() [1],
>>> for commit f856373e2f31ffd3 ("wifi: mac80211: do not wake queues on a vif
>>> that is being stopped") guards clear_bit() using fq.lock even before
>>> fq_init() from ieee80211_txq_setup_flows() initializes this spinlock.
>>>
>>> According to discussion [2], Toke was not happy with expanding usage of
>>> fq.lock. Since __ieee80211_wake_txqs() is called under RCU read lock, we
>>> can instead use synchronize_rcu() for flushing ieee80211_wake_txqs().
>>>
>>> Link: https://syzkaller.appspot.com/bug?extid=eceab52db7c4b961e9d6 [1]
>>> Link: https://lkml.kernel.org/r/[email-masked] [2]
>>> Reported-by: syzbot <[email-masked]>
>>> Signed-off-by: Tetsuo Handa <[email-masked]>
>>> Fixes: f856373e2f31ffd3 ("wifi: mac80211: do not wake queues on a vif that is being stopped")
>>> Tested-by: syzbot <[email-masked]>
>>> Acked-by: Toke Høiland-Jørgensen <[email-masked]>
>> 
>> Patch applied to wireless-next.git, thanks.
>> 
>> 3598cb6e1862 wifi: mac80211: do not abuse fq.lock in ieee80211_do_stop()
>
> Since this patch fixes a regression introduced in 5.19-rc7, can this patch go to 5.19-final ?
>
> syzbot is failing to test linux.git for 12 days due to this regression.
> syzbot will fail to bisect new bugs found in the upcoming merge window
> if unable to test v5.19 due to this regression.

I took this to wireless-next as I didn't think there's enough time to
get this to v5.19 (and I only heard Linus' -rc8 plans after the fact).
So this will be in v5.20-rc1 and I recommend pushing this to a v5.19
stable release.

-- 
https://patchwork.kernel.org/project/linux-wireless/list/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches