On 7/10/19 11:02 AM, Eric Biggers wrote:
> 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.

As you may know lockdep cannot use dynamic memory allocation because
doing so would introduce a circular dependency between lockdep and the
memory allocator. Hence the fixed size arrays in the lockdep code.
Additionally, as far as I know lockdep works fine for human kernel
developers and only syzbot runs code that triggers the lockdep limits.
So I think it's up to the syzbot authors to come up with a solution. I
mean another solution than finger pointing at kernel developers.

Bart.


Reply via email to