Re: [syzbot] INFO: task hung in hci_dev_close_sync

From: Johannes Berg
Date: Wed May 04 2022 - 05:24:41 EST


On Wed, 2022-05-04 at 05:12 +0000, Tetsuo Handa wrote:
>
> This seems to be a question regarding commit 87915adc3f0acdf0 ("workqueue: re-add lockdep dependencies for flushing").
> >
> > syzbot should have been able to catch cancel_work_sync() in work context
> > by checking lockdep_map in __flush_work() for both flush and cancel.
> >
> > Hillf
> >
> > --- y/kernel/workqueue.c
> > +++ x/kernel/workqueue.c
> > @@ -3075,10 +3075,10 @@ static bool __flush_work(struct work_str
> > if (WARN_ON(!work->func))
> > return false;
> >
> > - if (!from_cancel) {
> > + //if (!from_cancel) {
> >

I think this is explained in commit d6e89786bed9 ("workqueue: skip
lockdep wq dependency in cancel_work_sync()")

johannes