From: Thomas Gleixner <tglx@linutronix.de>
To: Hillf Danton <hdanton@sina.com>
Cc: syzbot <syzbot+6fb78d577e89e69602f9@syzkaller.appspotmail.com>,
linux-kernel@vger.kernel.org, pbonzini@redhat.com,
syzkaller-bugs@googlegroups.com,
Steven Rostedt <rosted@goodmis.org>,
Marcel Holtmann <marcel@holtmann.org>,
Luiz Augusto von Dentz <luiz.dentz@gmail.com>
Subject: Re: [syzbot] WARNING in call_timer_fn
Date: Thu, 17 Nov 2022 12:54:28 +0100 [thread overview]
Message-ID: <87fsehn6dn.ffs@tglx> (raw)
In-Reply-To: <20221117024511.3606-1-hdanton@sina.com>
On Thu, Nov 17 2022 at 10:45, Hillf Danton wrote:
> On 16 Nov 2022 19:29:27 +0100 Thomas Gleixner <tglx@linutronix.de>
>>
>
> I doubt your fix helps in the domain of workqueue in general, and in this
> report if it is delayed work that triggered the warning.
Indeed. I misread the backtrace and my brain connected the wrong dots
here. It's a different bluethooth hickup.
> --- x/net/bluetooth/hci_sync.c
> +++ y/net/bluetooth/hci_sync.c
> @@ -4806,6 +4806,7 @@ int hci_dev_close_sync(struct hci_dev *h
> /* Avoid potential lockdep warnings from the *_flush() calls by
> * ensuring the workqueue is empty up front.
> */
> + cancel_delayed_work_sync(&hdev->cmd_timer);
> drain_workqueue(hdev->workqueue);
The work has been canceled already before in the same function and there
are some more delayed works which can trigger this.
So no, this whole close_sync() function is prone to teardown races and
just slapping a single cancel here without deeper analysis does not cut
it.
Thanks,
tglx
next prev parent reply other threads:[~2022-11-17 11:54 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-16 15:25 [syzbot] WARNING in call_timer_fn syzbot
2022-11-16 18:29 ` Thomas Gleixner
[not found] ` <20221117024511.3606-1-hdanton@sina.com>
2022-11-17 11:54 ` Thomas Gleixner [this message]
[not found] ` <20221117125523.3783-1-hdanton@sina.com>
2022-11-17 16:06 ` Thomas Gleixner
2022-11-17 21:04 ` Luiz Augusto von Dentz
2022-11-17 21:16 ` Luiz Augusto von Dentz
2022-11-18 0:53 ` Tetsuo Handa
2022-11-18 1:17 ` Thomas Gleixner
[not found] ` <20221118012805.3862-1-hdanton@sina.com>
2022-11-18 20:01 ` Luiz Augusto von Dentz
2024-11-12 3:46 ` [syzbot] [bluetooth] " syzbot
[not found] <20221117010835.3474-1-hdanton@sina.com>
2022-11-17 1:35 ` [syzbot] " syzbot
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=87fsehn6dn.ffs@tglx \
--to=tglx@linutronix.de \
--cc=hdanton@sina.com \
--cc=linux-kernel@vger.kernel.org \
--cc=luiz.dentz@gmail.com \
--cc=marcel@holtmann.org \
--cc=pbonzini@redhat.com \
--cc=rosted@goodmis.org \
--cc=syzbot+6fb78d577e89e69602f9@syzkaller.appspotmail.com \
--cc=syzkaller-bugs@googlegroups.com \
/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