Re: WARNING: locking bug in __perf_event_task_sched_in

From: Dmitry Vyukov
Date: Wed Mar 04 2020 - 09:01:53 EST


happOn Wed, Mar 4, 2020 at 2:54 PM Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
>
> On Wed, Mar 04, 2020 at 04:48:13AM -0800, syzbot wrote:
> > Hello,
> >
> > syzbot found the following crash on:
> >
> > HEAD commit: f8788d86 Linux 5.6-rc3
> > git tree: upstream
> > console output: https://syzkaller.appspot.com/x/log.txt?x=13bcd8f9e00000
> > kernel config: https://syzkaller.appspot.com/x/.config?x=5d2e033af114153f
> > dashboard link: https://syzkaller.appspot.com/bug?extid=3daecb3e8271380aeb51
> > compiler: clang version 10.0.0 (https://github.com/llvm/llvm-project/ c2443155a0fb245c8f17f2c1c72b6ea391e86e81)
> >
> > Unfortunately, I don't have any reproducer for this crash yet.
> >
> > IMPORTANT: if you fix the bug, please add the following tag to the commit:
> > Reported-by: syzbot+3daecb3e8271380aeb51@xxxxxxxxxxxxxxxxxxxxxxxxx
> >
> > ------------[ cut here ]------------
> > DEBUG_LOCKS_WARN_ON(1)
> > WARNING: CPU: 0 PID: 22488 at kernel/locking/lockdep.c:167 hlock_class kernel/locking/lockdep.c:167 [inline]
> > WARNING: CPU: 0 PID: 22488 at kernel/locking/lockdep.c:167 __lock_acquire+0x18b8/0x1bc0 kernel/locking/lockdep.c:3950
>
> Something went sideways bad, could be you've overflowed lockdep_depth.
> For some reason the check:
>
> if (unlikely(curr->lockdep_depth >= MAX_LOCK_DEPTH))
>
> is rather late.. Dunno, most times I've hit lockdep errors like this,
> something else was screwy and we're just the ones to trip over it.

"BUG: MAX_LOCK_DEPTH too low!" is not happening on its own, the last
"BUG: MAX_LOCK_DEPTH too low!" happened 600 days ago:
https://syzkaller.appspot.com/bug?extid=802a5abb8abae86eb6de