Subject: Re: INFO: rcu detected stall in cleanup_net (4)

From: Vinicius Costa Gomes <[email-masked]>
Date: Wed, 09 Sep 2020 14:54:36 -0700

Hi Jakub,

Jakub Kicinski <[email-masked]> writes:

> On Tue, 08 Sep 2020 22:29:21 -0700 syzbot wrote:
>> Hello,
>> 
>> syzbot found the following issue on:
>> 
>> HEAD commit:    59126901 Merge tag 'perf-tools-fixes-for-v5.9-2020-09-03' ..
>> git tree:       upstream
>> console output: https://syzkaller.appspot.com/x/log.txt?x=12edb935900000
>> kernel config:  https://syzkaller.appspot.com/x/.config?x=3c5f6ce8d5b68299
>> dashboard link: https://syzkaller.appspot.com/bug?extid=8267241609ae8c23b248
>> compiler:       gcc (GCC) 10.1.0-syz 20200507
>> syz repro:      https://syzkaller.appspot.com/x/repro.syz?x=157c7aa5900000
>> C reproducer:   https://syzkaller.appspot.com/x/repro.c?x=13c92ef9900000
>> 
>> The issue was bisected to:
>> 
>> commit 5a781ccbd19e4664babcbe4b4ead7aa2b9283d22
>> Author: Vinicius Costa Gomes <[email-masked]>
>> Date:   Sat Sep 29 00:59:43 2018 +0000
>> 
>>     tc: Add support for configuring the taprio scheduler
>
>
> Vinicius, could you please take a look at all the syzbot reports which
> point to your commit? I know syzbot bisection is not super reliable,
> but at least 3 reports point to your commit now, so something's
> probably going on.

I did take a look, and it seems that it all boils down to having too
small (unreasonable?) intervals in the schedule, which causes the
hrtimer handler to starve the other kernel threads.

I have a quick fix to restrict the interval values to more sensible
values (at least equal to the time it takes to transmit the mininum
ethernet frame size), I am testing it and I will propose it soon. But a
proper solution will require more time.

Cheers,
-- 
Vinicius