Subject: Re: 回复: INFO: rcu detected stall in tc_modify_qdisc

From: Vinicius Costa Gomes <[email-masked]>
Date: Wed, 29 Jul 2020 12:13:25 -0700

Hi,

"Zhang, Qiang" <[email-masked]> writes:

> ________________________________________
> 发件人: [email-masked] <[email-masked]> 代表 syzbot <[email-masked]>
> 发送时间: 2020年7月29日 13:53
> 收件人: [email-masked]; [email-masked]; [email-masked]; [email-masked]; [email-masked]; [email-masked]; [email-masked]; [email-masked]; [email-masked]; [email-masked]; [email-masked]
> 主题: INFO: rcu detected stall in tc_modify_qdisc
>
> Hello,
>
> syzbot found the following issue on:
>
> HEAD commit:    181964e6 fix a braino in cmsghdr_from_user_compat_to_kern()
> git tree:       net
> console output: https://syzkaller.appspot.com/x/log.txt?x=12925e38900000
> kernel config:  https://syzkaller.appspot.com/x/.config?x=f87a5e4232fdb267
> dashboard link: https://syzkaller.appspot.com/bug?extid=9f78d5c664a8c33f4cce
> compiler:       gcc (GCC) 10.1.0-syz 20200507
> syz repro:
> https://syzkaller.appspot.com/x/repro.syz?x=16587f8c900000

It seems that syzkaller is generating an schedule with too small
intervals (3ns in this case) which causes a hrtimer busy-loop which
starves other kernel threads.

We could put some limits on the interval when running in software mode,
but I don't like this too much, because we are talking about users with
CAP_NET_ADMIN and they have easier ways to do bad things to the system.

Cheers,
-- 
Vinicius