Re: åå: INFO: rcu detected stall in tc_modify_qdisc

From: Vinicius Costa Gomes
Date: Wed Jul 29 2020 - 15:13:31 EST


Hi,

"Zhang, Qiang" <Qiang.Zhang@xxxxxxxxxxxxx> writes:

> ________________________________________
> åää: linux-kernel-owner@xxxxxxxxxxxxxxx <linux-kernel-owner@xxxxxxxxxxxxxxx> äè syzbot <syzbot+9f78d5c664a8c33f4cce@xxxxxxxxxxxxxxxxxxxxxxxxx>
> åéæé: 2020å7æ29æ 13:53
> æää: davem@xxxxxxxxxxxxx; fweisbec@xxxxxxxxx; jhs@xxxxxxxxxxxx; jiri@xxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; mingo@xxxxxxxxxx; netdev@xxxxxxxxxxxxxxx; syzkaller-bugs@xxxxxxxxxxxxxxxx; tglx@xxxxxxxxxxxxx; vinicius.gomes@xxxxxxxxx; xiyou.wangcong@xxxxxxxxx
> äé: 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