Re: [syzbot] riscv/fixes boot error: INFO: rcu detected stall in corrupted

From: Dmitry Vyukov
Date: Wed Feb 15 2023 - 03:46:49 EST


On Wed, 15 Feb 2023 at 01:24, syzbot
<syzbot+42670398d6ddb118138f@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
>
> Hello,
>
> syzbot found the following issue on:
>
> HEAD commit: 950b879b7f02 riscv: Fixup race condition on PG_dcache_clea..
> git tree: git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux.git fixes
> console output: https://syzkaller.appspot.com/x/log.txt?x=137aaec0c80000
> kernel config: https://syzkaller.appspot.com/x/.config?x=b3cd714c8e9a6e01
> dashboard link: https://syzkaller.appspot.com/bug?extid=42670398d6ddb118138f
> compiler: riscv64-linux-gnu-gcc (Debian 10.2.1-6) 10.2.1 20210110, GNU ld (GNU Binutils for Debian) 2.35.2
> userspace arch: riscv64
>
> IMPORTANT: if you fix the issue, please add the following tag to the commit:
> Reported-by: syzbot+42670398d6ddb118138f@xxxxxxxxxxxxxxxxxxxxxxxxx
>
> rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
> rcu: 0-...0: (1 GPs behind) idle=36ec/1/0x4000000000000000 softirq=6589/6590 fqs=9960
> (detected by 1, t=30504 jiffies, g=14713, q=4 ncpus=2)
> Task dump for CPU 0:
> task:cmp state:R running task stack:0 pid:2746 ppid:2744 flags:0x00000008
> Call Trace:
> [<ffffffff834348b8>] context_switch kernel/sched/core.c:5244 [inline]
> [<ffffffff834348b8>] __schedule+0x624/0x1254 kernel/sched/core.c:6555
> rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
> rcu: 0-...0: (1 GPs behind) idle=36ec/1/0x4000000000000000 softirq=6589/6590 fqs=28261
> (detected by 1, t=122009 jiffies, g=14713, q=4 ncpus=2)
> Task dump for CPU 0:
> task:cmp state:R running task stack:0 pid:2746 ppid:2744 flags:0x00000008
> Call Trace:
> [<ffffffff834348b8>] context_switch kernel/sched/core.c:5244 [inline]
> [<ffffffff834348b8>] __schedule+0x624/0x1254 kernel/sched/core.c:6555

Humm... initially I thought this may be related to the riscv issue
with too short command line (commit "riscv: Bump COMMAND_LINE_SIZE
value to 1024").

But it seems this actually fired after 300 seconds, right? (300
seconds is the intended timeout on syzbot):

> (detected by 1, t=30504 jiffies, g=14713, q=4 ncpus=2)