Search Linux Wireless

Re: BUG: soft lockup in ieee80211_tasklet_handler

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Mar 3, 2021 at 9:59 AM Hillf Danton <hdanton@xxxxxxxx> wrote:
>
> On Tue, 02 Mar 2021 15:18:16 +0100  Johannes Berg wrote:
> > On Wed, 2021-02-24 at 10:30 +0800, Hillf Danton wrote:
> > >
> > > 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 ;)

> > 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.
> >
> > 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



[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux