From: syzbot <syzbot+b1146b58a9d6d90e0eb4@syzkaller.appspotmail.com>
To: linux-bluetooth@vger.kernel.org, linux-kernel@vger.kernel.org,
luiz.dentz@gmail.com, marcel@holtmann.org,
syzkaller-bugs@googlegroups.com
Subject: [syzbot] [bluetooth?] WARNING in disable_delayed_work_sync
Date: Tue, 10 Nov 2026 00:23:39 -0800 [thread overview]
Message-ID: <6af2d48b.4dd4714a.f8d02.0024.GAE@google.com> (raw)
Hello,
syzbot found the following issue on:
HEAD commit: 58c1eb84e977 arm64: sdei: Preserve the interrupted context..
git tree: git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci
console output: https://syzkaller.appspot.com/x/log.txt?x=1070f24e580000
kernel config: https://syzkaller.appspot.com/x/.config?x=a58b6b4d667e7a61
dashboard link: https://syzkaller.appspot.com/bug?extid=b1146b58a9d6d90e0eb4
compiler: Debian clang version 22.1.8 (1~deb13u4), Debian LLD 22.1.8
userspace arch: arm64
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=12869155580000
Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/b1ec47537e12/disk-58c1eb84.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/3bca0c2b1169/vmlinux-58c1eb84.xz
kernel image: https://storage.googleapis.com/syzbot-assets/0a7c49594d5a/Image-58c1eb84.gz.xz
AI-generated root cause summary:
When shutting down a Bluetooth HCI device (e.g., via vhci_release() during
process exit), hci_dev_close_sync() calls hci_conn_hash_flush() to iterate and
delete all active connections on hdev->conn_hash.list via hci_conn_del(). In
hci_conn_del(), disable_delayed_work_sync(&conn->disc_work) invokes
__flush_work(), which triggers WARN_ON(!work->func) because
conn->disc_work.work.func is NULL. This occurs because the connection entry on
conn_hash.list either suffered an in-place memory corruption overwriting
disc_work or remained linked after an unbalanced hci_conn_put() dropped its
refcount to zero without deleting it from the connection hash table.
full analysis: https://syzkaller.appspot.com/x/ai_root_cause?x=b1146b58a9d6d90e0eb4
IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+b1146b58a9d6d90e0eb4@syzkaller.appspotmail.com
------------[ cut here ]------------
WARNING: kernel/workqueue.c:4570 at __flush_work+0x988/0xa90 kernel/workqueue.c:-1, CPU#0: syz-executor/4881
Modules linked in:
CPU: 0 UID: 0 PID: 4881 Comm: syz-executor Not tainted syzkaller #0 PREEMPT
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 11/06/2026
pstate: 83400005 (Nzcv daif +PAN -UAO +TCO +DIT -SSBS BTYPE=--)
pc : __flush_work+0x988/0xa90 kernel/workqueue.c:-1
lr : __flush_work+0x984/0xa90 kernel/workqueue.c:4570
sp : ffff80009c5c7540
x29: ffff80009c5c76b0 x28: ffff7000138b8eac x27: 1fffe0001913694d
x26: ffff0000c89b4a68 x25: 0000000000000001 x24: dfff800000000000
x23: 0000000000000040 x22: dfff800000000000 x21: dfff800000000000
x20: ffff0000c89b4a50 x19: ffff80009c5c7580 x18: 00000000ffffffff
x17: 0000000000000003 x16: ffff8000898b7000 x15: ffff80008b586000
x14: 0000000000000000 x13: 0000000000000005 x12: 0000000000000000
x11: ffff7000138b8ec5 x10: 0000000000000000 x9 : 0000000000000000
x8 : 0000000000000000 x7 : 0000000000000000 x6 : 000000000000003f
x5 : 0000000000000040 x4 : 0000000000000000 x3 : 0000000000000020
x2 : 0000000000000008 x1 : ffff0000c8350000 x0 : 0000000000000000
Call trace:
__flush_work+0x988/0xa90 kernel/workqueue.c:-1 (P)
__cancel_work_sync+0xc8/0x144 kernel/workqueue.c:4729
disable_delayed_work_sync+0x24/0x38 kernel/workqueue.c:4892
hci_conn_del+0x6c/0xfcc net/bluetooth/hci_conn.c:1300
hci_conn_hash_flush+0x17c/0x238 net/bluetooth/hci_conn.c:2814
hci_dev_close_sync+0x5d4/0xd00 net/bluetooth/hci_sync.c:5681
hci_dev_do_close+0x34/0xbc net/bluetooth/hci_core.c:502
hci_unregister_dev+0x204/0x4c4 net/bluetooth/hci_core.c:2694
vhci_release+0x12c/0x17c drivers/bluetooth/hci_vhci.c:704
__fput+0x338/0x74c fs/file_table.c:512
fput_close_sync+0x10c/0x278 fs/file_table.c:618
filp_close_sync+0x7c/0xb4 fs/open.c:1573
close_files fs/file.c:572 [inline]
put_files_struct+0x1a4/0x2e8 fs/file.c:584
switch_files_struct+0x60/0x74 fs/file.c:598
exit_files+0x50/0x68 fs/file.c:604
do_exit+0x55c/0x1a64 kernel/exit.c:977
do_group_exit+0x198/0x238 kernel/exit.c:1123
__do_sys_exit_group kernel/exit.c:1134 [inline]
__se_sys_exit_group kernel/exit.c:1132 [inline]
pid_child_should_wake+0x0/0x104 kernel/exit.c:1132
__invoke_syscall arch/arm64/kernel/syscall.c:35 [inline]
invoke_syscall+0x98/0x244 arch/arm64/kernel/syscall.c:49
el0_svc_common+0xec/0x23c arch/arm64/kernel/syscall.c:121
do_el0_svc+0x4c/0x5c arch/arm64/kernel/syscall.c:140
el0_svc+0x60/0x1d8 arch/arm64/kernel/entry-common.c:797
el0t_64_sync_handler+0x44/0x104 arch/arm64/kernel/entry-common.c:816
el0t_64_sync+0x198/0x19c arch/arm64/kernel/entry.S:606
irq event stamp: 175128
hardirqs last enabled at (175127): [<ffff80008036fa20>] __cancel_work+0xf4/0x1a4 kernel/workqueue.c:4709
hardirqs last disabled at (175128): [<ffff800086953878>] el1_brk64+0x20/0x54 arch/arm64/kernel/entry-common.c:484
softirqs last enabled at (173918): [<ffff8000800204f4>] __do_softirq+0x14/0x20 kernel/softirq.c:703
---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzkaller@googlegroups.com.
syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.
If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title
If you want syzbot to run the reproducer, reply with:
#syz test: git://repo/address.git branch-or-commit-hash
If you attach or paste a git patch, syzbot will apply it before testing.
If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)
If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report
If you want to undo deduplication, reply with:
#syz undup
reply other threads:[~2026-11-10 8:23 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=6af2d48b.4dd4714a.f8d02.0024.GAE@google.com \
--to=syzbot+b1146b58a9d6d90e0eb4@syzkaller.appspotmail.com \
--cc=linux-bluetooth@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=luiz.dentz@gmail.com \
--cc=marcel@holtmann.org \
--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
all inboxes | Powered by JetHome®