Re: INFO: rcu detected stall in dummy_timer

From: Andrey Konovalov
Date: Mon Sep 16 2019 - 11:29:52 EST


On Fri, Sep 13, 2019 at 10:35 PM Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote:
>
> On Fri, 13 Sep 2019, syzbot wrote:
>
> > syzbot has found a reproducer for the following crash on:
> >
> > HEAD commit: f0df5c1b usb-fuzzer: main usb gadget fuzzer driver
> > git tree: https://github.com/google/kasan.git usb-fuzzer
> > console output: https://syzkaller.appspot.com/x/log.txt?x=1146550d600000
> > kernel config: https://syzkaller.appspot.com/x/.config?x=5c6633fa4ed00be5
> > dashboard link: https://syzkaller.appspot.com/bug?extid=b24d736f18a1541ad550
> > compiler: gcc (GCC) 9.0.0 20181231 (experimental)
> > syz repro: https://syzkaller.appspot.com/x/repro.syz?x=11203fa5600000
> > C reproducer: https://syzkaller.appspot.com/x/repro.c?x=162cd335600000
> >
> > IMPORTANT: if you fix the bug, please add the following tag to the commit:
> > Reported-by: syzbot+b24d736f18a1541ad550@xxxxxxxxxxxxxxxxxxxxxxxxx
> >
> > yurex 3-1:0.101: yurex_interrupt - unknown status received: -71
> > yurex 5-1:0.101: yurex_interrupt - unknown status received: -71
> > yurex 6-1:0.101: yurex_interrupt - unknown status received: -71
> > rcu: INFO: rcu_sched self-detected stall on CPU
>
> Andrey:
>
> This problem may be a result of overloading dummy_timer. The kernel
> config you are using has CONFIG_HZ=100, but dummy-hcd needs
> CONFIG_HZ=1000 (see the comment on line 1789). That is, lower values
> of HZ will occasionally lead to trouble, and this may be an example.
>
> Can you change the config value for HZ and see if the bug still
> reproduces?

Hi Alan,

I've tried running the reproducer with CONFIG_HZ=1000 and still got
the same stall message. It's accompanied by countless "yurex
6-1:0.101: yurex_interrupt - unknown status received: -71" messages,
so I believe this is an issue in the yurex driver.

Why does dumy_hcd require CONFIG_HZ=1000? The comment doesn't really
explain the reason.

Thanks!