Re: [syzbot] INFO: task hung in hci_dev_close_sync

From: Tetsuo Handa
Date: Thu Jul 28 2022 - 08:26:20 EST


On 2022/05/04 18:24, Johannes Berg wrote:
> 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()")

I couldn't agree on that reasoning, and I sent
https://lkml.kernel.org/r/21b9c1ac-64b7-7f4b-1e62-bf2f021fffcd@xxxxxxxxxxxxxxxxxxx .