From: Eric Biggers <ebiggers@kernel.org>
To: Bart Van Assche <bvanassche@acm.org>
Cc: Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@redhat.com>, Will Deacon <will@kernel.org>,
linux-kernel@vger.kernel.org,
syzbot <syzbot+6f39a9deb697359fe520@syzkaller.appspotmail.com>,
syzkaller-bugs@googlegroups.com
Subject: Re: BUG: MAX_STACK_TRACE_ENTRIES too low! (2)
Date: Wed, 10 Jul 2019 11:02:43 -0700 [thread overview]
Message-ID: <20190710180242.GA193819@gmail.com> (raw)
In-Reply-To: <f498d8cc-ba82-d3dc-7557-142a1b35976a@acm.org>
On Wed, Jul 10, 2019 at 10:46:00AM -0700, Bart Van Assche wrote:
> On 7/10/19 10:21 AM, Eric Biggers wrote:
> > With my simplified reproducer, on commit 669de8bda87b ("kernel/workqueue: Use
> > dynamic lockdep keys for workqueues") I see:
> >
> > WARNING: CPU: 3 PID: 189 at kernel/locking/lockdep.c:747 register_lock_class+0x4f6/0x580
> >
> > and then somewhat later:
> >
> > BUG: MAX_LOCKDEP_KEYS too low!
> >
> > If on top of that I cherry pick commit 28d49e282665 ("locking/lockdep: Shrink
> > struct lock_class_key"), I see instead:
> >
> > BUG: MAX_STACK_TRACE_ENTRIES too low!
> >
> > I also see that on mainline.
> >
> > Alternatively, if I check out 669de8bda87b and revert it, I don't see anything.
>
> Hi Eric,
>
> Is the rdma_ucm code the only code that triggers the "BUG:
> MAX_STACK_TRACE_ENTRIES too low!" complaint or is this complaint also
> triggered by other kernel code? I'm asking this because I think that
> fixing this would require to implement garbage collection for the
> stack_trace[] array in the lockdep code. That would make the lockdep
> code slower. I don't think that making the lockdep code slower would be
> welcome.
>
> Bart.
I already mentioned that io_uring triggers it too.
Those are just 2 cases that syzbot happened to generate reproducers for. I
expect there are many others too, since many places in the kernel allocate
workqueues. AFAICS most are placed in static or global variables which avoids
this issue, but there are still many cases where a workqueue is owned by some
dynamic structure that can have a much shorter lifetime.
You can also check the other syzbot reports that look similar
(https://lore.kernel.org/lkml/20190710055838.GC2152@sol.localdomain/).
Two of them have C reproducers too.
- Eric
next prev parent reply other threads:[~2019-07-10 18:02 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-03-29 10:42 BUG: MAX_STACK_TRACE_ENTRIES too low! (2) syzbot
2019-03-30 11:10 ` syzbot
2019-03-30 21:58 ` syzbot
2019-03-31 2:17 ` Bart Van Assche
2019-07-10 5:30 ` Eric Biggers
2019-07-10 14:19 ` Bart Van Assche
2019-07-10 17:00 ` Eric Biggers
2019-07-10 17:21 ` Eric Biggers
2019-07-10 17:46 ` Bart Van Assche
2019-07-10 18:02 ` Eric Biggers [this message]
2019-07-10 18:36 ` Bart Van Assche
2019-07-10 18:44 ` Eric Dumazet
2019-07-10 19:09 ` Bart Van Assche
2019-07-10 20:47 ` Eric Dumazet
2019-07-10 21:23 ` Bart Van Assche
2019-07-10 22:09 ` Peter Zijlstra
2019-07-11 18:53 ` Bart Van Assche
2019-07-12 8:55 ` Peter Zijlstra
2019-07-12 23:03 ` Bart Van Assche
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190710180242.GA193819@gmail.com \
--to=ebiggers@kernel.org \
--cc=bvanassche@acm.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=syzbot+6f39a9deb697359fe520@syzkaller.appspotmail.com \
--cc=syzkaller-bugs@googlegroups.com \
--cc=will@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox