[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <aS59o0EE31RLlFb7@slm.duckdns.org>
Date: Mon, 1 Dec 2025 19:48:19 -1000
From: Heo <tj@...nel.org>
To: 许东洁 <xudongjie25@...ls.ucas.ac.cn>
Cc: Zijlstra <peterz@...radead.org>, Jiangshan <jiangshanlai@...il.com>,
Molnar <mingo@...hat.com>, Deacon <will@...nel.org>,
Feng <boqun.feng@...il.com>, Long <longman@...hat.com>,
linux-kernel@...r.kernel.org
Subject: Re: [BUG] lockdep: MAX_LOCKDEP_KEYS too low when destroying
workqueues
On Sun, Nov 30, 2025 at 05:03:53PM +0800, 许东洁 wrote:
> Hello,
>
> I found a lockdep issue using syzkaller where repeatedly destroying workqueues exhausts
> MAX_LOCKDEP_KEYS and disables the lock validator.
>
> The bug triggers through:
> nci_unregister_device -> destroy_workqueue -> drain_workqueue -> touch_wq_lockdep_map
>
> Kernel output:
> BUG: MAX_LOCKOCKDEP_KEYS too low!
> turning off the locking correctness validator.
>
> It appears workqueue lock classes are not properly released in destroy_workqueue,
> causing lock class leakage.
Looks like the repro ends up creating and destroying workqueues back to
back. Part of workqueue destruction is asynchronous, so if you do that
quickly enough, running out of lockdep keys isn't that surprising. I'm not
sure this is a meaningful bug report.
Thanks.
--
tejun
Powered by blists - more mailing lists