Re: BUG: soft lockup in ieee80211_tasklet_handler
From: Dmitry Vyukov <dvyukov@google.com>
Date: 2021-03-03 14:40:49
Also in:
lkml
On Wed, Mar 3, 2021 at 9:59 AM Hillf Danton [off-list ref] wrote:
On Tue, 02 Mar 2021 15:18:16 +0100 Johannes Berg wrote:quoted
On Wed, 2021-02-24 at 10:30 +0800, Hillf Danton wrote:quoted
Add budget for the 80211 softint handler - it's feasible not to try to build the giant pyramid in a week.--- x/net/mac80211/main.c +++ y/net/mac80211/main.c@@ -224,9 +224,15 @@ static void ieee80211_tasklet_handler(un { struct ieee80211_local *local = (struct ieee80211_local *) data; struct sk_buff *skb; + int i = 0; + + while (i++ < 64) { + skb = skb_dequeue(&local->skb_queue); + if (!skb) + skb = skb_dequeue(&local->skb_queue_unreliable); + if (!skb) + return;I guess that's not such a bad idea, but I do wonder how we get here, userspace can submit packets faster than we can process?I wonder why syzbot did not make other handlers stand out than ieee80211_tasklet_handler.
syzbot has no relation to this whatsoever. It's just a proxy between the kernel and you. Ask the kernel ;)
quoted
It feels like a simulation-only case, tbh, since over the air you have limits how much bandwidth you can get ... unless you have a very slow CPU?Even with a slower CPU I want to run a FIFO task every tick - it can bear latencies like two seconds.quoted
In any case, if you want anything merged you're going to have to submit a proper patch with a real commit message and Signed-off-by, etc. johannes