* Re: [syzbot] [bluetooth?] WARNING: ODEBUG bug in hci_release_dev (2)
2024-07-24 13:25 [syzbot] [bluetooth?] WARNING: ODEBUG bug in hci_release_dev (2) syzbot
@ 2024-10-14 23:11 ` syzbot
2024-12-21 14:19 ` syzbot
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: syzbot @ 2024-10-14 23:11 UTC (permalink / raw)
To: johan.hedberg, linux-bluetooth, linux-kernel, luiz.dentz, marcel,
netdev, syzkaller-bugs
syzbot has found a reproducer for the following issue on:
HEAD commit: 0b84db5d8f25 MAINTAINERS: add Andrew Lunn as a co-maintain..
git tree: net
console output: https://syzkaller.appspot.com/x/log.txt?x=10505727980000
kernel config: https://syzkaller.appspot.com/x/.config?x=7cd9e7e4a8a0a15b
dashboard link: https://syzkaller.appspot.com/bug?extid=b170dbf55520ebf5969a
compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=16f84030580000
Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/bd00feb30432/disk-0b84db5d.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/e39e30a1ae6d/vmlinux-0b84db5d.xz
kernel image: https://storage.googleapis.com/syzbot-assets/87eafcdafd48/bzImage-0b84db5d.xz
IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+b170dbf55520ebf5969a@syzkaller.appspotmail.com
------------[ cut here ]------------
ODEBUG: free active (active state 0) object: ffff88806c380978 object type: timer_list hint: hci_cmd_timeout+0x0/0x1e0
WARNING: CPU: 1 PID: 11255 at lib/debugobjects.c:517 debug_print_object+0x17a/0x1f0 lib/debugobjects.c:514
Modules linked in:
CPU: 1 UID: 0 PID: 11255 Comm: syz.1.2889 Not tainted 6.12.0-rc2-syzkaller-00216-g0b84db5d8f25 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024
RIP: 0010:debug_print_object+0x17a/0x1f0 lib/debugobjects.c:514
Code: e8 5b 1a 3c fd 4c 8b 0b 48 c7 c7 e0 04 61 8c 48 8b 74 24 08 48 89 ea 44 89 e1 4d 89 f8 ff 34 24 e8 db 63 93 fc 48 83 c4 08 90 <0f> 0b 90 90 ff 05 64 a7 5a 0b 48 83 c4 10 5b 41 5c 41 5d 41 5e 41
RSP: 0018:ffffc90003e17818 EFLAGS: 00010286
RAX: b20dce31d0d23300 RBX: ffffffff8c0cd900 RCX: ffff88807aa40000
RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000000
RBP: ffffffff8c610660 R08: ffffffff8155e402 R09: fffffbfff1cf9fd8
R10: dffffc0000000000 R11: fffffbfff1cf9fd8 R12: 0000000000000000
R13: ffffffff8c610578 R14: dffffc0000000000 R15: ffff88806c380978
FS: 00007fd4093cf6c0(0000) GS:ffff8880b8700000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f55ce736000 CR3: 0000000074a94000 CR4: 00000000003526f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<TASK>
__debug_check_no_obj_freed lib/debugobjects.c:989 [inline]
debug_check_no_obj_freed+0x45b/0x580 lib/debugobjects.c:1019
slab_free_hook mm/slub.c:2273 [inline]
slab_free mm/slub.c:4579 [inline]
kfree+0x11f/0x440 mm/slub.c:4727
hci_release_dev+0x1525/0x16b0 net/bluetooth/hci_core.c:2759
bt_host_release+0x83/0x90 net/bluetooth/hci_sysfs.c:94
device_release+0x99/0x1c0
kobject_cleanup lib/kobject.c:689 [inline]
kobject_release lib/kobject.c:720 [inline]
kref_put include/linux/kref.h:65 [inline]
kobject_put+0x22f/0x480 lib/kobject.c:737
hci_dev_put include/net/bluetooth/hci_core.h:1581 [inline]
hci_dev_cmd+0x296/0xa50 net/bluetooth/hci_core.c:763
sock_do_ioctl+0x158/0x460 net/socket.c:1227
sock_ioctl+0x626/0x8e0 net/socket.c:1346
vfs_ioctl fs/ioctl.c:51 [inline]
__do_sys_ioctl fs/ioctl.c:907 [inline]
__se_sys_ioctl+0xf9/0x170 fs/ioctl.c:893
do_syscall_x64 arch/x86/entry/common.c:52 [inline]
do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83
entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7fd40857dff9
Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007fd4093cf038 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 00007fd408735f80 RCX: 00007fd40857dff9
RDX: 0000000020000240 RSI: 00000000400448dd RDI: 0000000000000004
RBP: 00007fd4085f0296 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 0000000000000000 R14: 00007fd408735f80 R15: 00007ffd5284c118
</TASK>
---
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.
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [syzbot] [bluetooth?] WARNING: ODEBUG bug in hci_release_dev (2)
2024-07-24 13:25 [syzbot] [bluetooth?] WARNING: ODEBUG bug in hci_release_dev (2) syzbot
2024-10-14 23:11 ` syzbot
@ 2024-12-21 14:19 ` syzbot
2026-03-16 16:07 ` Forwarded: " syzbot
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: syzbot @ 2024-12-21 14:19 UTC (permalink / raw)
To: johan.hedberg, linux-bluetooth, linux-kernel, luiz.dentz, marcel,
netdev, syzkaller-bugs
syzbot has found a reproducer for the following issue on:
HEAD commit: 499551201b5f Merge tag 'arm64-fixes' of git://git.kernel.o..
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=17916f30580000
kernel config: https://syzkaller.appspot.com/x/.config?x=c22efbd20f8da769
dashboard link: https://syzkaller.appspot.com/bug?extid=b170dbf55520ebf5969a
compiler: gcc (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=1090c0c4580000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=10a1efe8580000
Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/5ee1fc255de9/disk-49955120.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/24f10c9fac9a/vmlinux-49955120.xz
kernel image: https://storage.googleapis.com/syzbot-assets/211e35102c2e/bzImage-49955120.xz
IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+b170dbf55520ebf5969a@syzkaller.appspotmail.com
------------[ cut here ]------------
ODEBUG: free active (active state 0) object: ffff888033d51248 object type: timer_list hint: hci_devcd_timeout+0x0/0x2f0 include/linux/skbuff.h:2741
WARNING: CPU: 1 PID: 5828 at lib/debugobjects.c:612 debug_print_object+0x1a2/0x2b0 lib/debugobjects.c:612
Modules linked in:
CPU: 1 UID: 0 PID: 5828 Comm: syz-executor344 Not tainted 6.13.0-rc3-syzkaller-00209-g499551201b5f #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024
RIP: 0010:debug_print_object+0x1a2/0x2b0 lib/debugobjects.c:612
Code: fc ff df 48 89 fa 48 c1 ea 03 80 3c 02 00 75 54 48 8b 14 dd a0 7f b1 8b 41 56 4c 89 e6 48 c7 c7 20 74 b1 8b e8 4f 59 bc fc 90 <0f> 0b 90 90 58 83 05 b6 5a 7f 0b 01 48 83 c4 18 5b 5d 41 5c 41 5d
RSP: 0018:ffffc90003faf768 EFLAGS: 00010286
RAX: 0000000000000000 RBX: 0000000000000003 RCX: ffffffff815a16c9
RDX: ffff888028419e00 RSI: ffffffff815a16d6 RDI: 0000000000000001
RBP: 0000000000000001 R08: 0000000000000001 R09: 0000000000000000
R10: 0000000000000001 R11: 0000000000000001 R12: ffffffff8bb17ac0
R13: ffffffff8b4f8020 R14: ffffffff8a2ad340 R15: ffffc90003faf878
FS: 0000000000000000(0000) GS:ffff8880b8700000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000055f6d80ebeb8 CR3: 000000007c30e000 CR4: 00000000003526f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<TASK>
__debug_check_no_obj_freed lib/debugobjects.c:1099 [inline]
debug_check_no_obj_freed+0x4b7/0x600 lib/debugobjects.c:1129
slab_free_hook mm/slub.c:2284 [inline]
slab_free mm/slub.c:4613 [inline]
kfree+0x2b3/0x4b0 mm/slub.c:4761
hci_release_dev+0x4d9/0x600 net/bluetooth/hci_core.c:2758
bt_host_release+0x6a/0xb0 net/bluetooth/hci_sysfs.c:87
device_release+0xa1/0x240 drivers/base/core.c:2567
kobject_cleanup lib/kobject.c:689 [inline]
kobject_release lib/kobject.c:720 [inline]
kref_put include/linux/kref.h:65 [inline]
kobject_put+0x1e4/0x5a0 lib/kobject.c:737
put_device+0x1f/0x30 drivers/base/core.c:3773
vhci_release+0x81/0xf0 drivers/bluetooth/hci_vhci.c:665
__fput+0x3f8/0xb60 fs/file_table.c:450
task_work_run+0x14e/0x250 kernel/task_work.c:239
exit_task_work include/linux/task_work.h:43 [inline]
do_exit+0xad8/0x2d70 kernel/exit.c:938
do_group_exit+0xd3/0x2a0 kernel/exit.c:1087
get_signal+0x2576/0x2610 kernel/signal.c:3017
arch_do_signal_or_restart+0x90/0x7e0 arch/x86/kernel/signal.c:337
exit_to_user_mode_loop kernel/entry/common.c:111 [inline]
exit_to_user_mode_prepare include/linux/entry-common.h:329 [inline]
__syscall_exit_to_user_mode_work kernel/entry/common.c:207 [inline]
syscall_exit_to_user_mode+0x150/0x2a0 kernel/entry/common.c:218
do_syscall_64+0xda/0x250 arch/x86/entry/common.c:89
entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7f977f68926a
Code: Unable to access opcode bytes at 0x7f977f689240.
RSP: 002b:00007ffc28c89690 EFLAGS: 00000293 ORIG_RAX: 0000000000000003
RAX: 0000000000000000 RBX: 0000000000000004 RCX: 00007f977f68926a
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000003
RBP: 0000000000000000 R08: 00007f977f6e1049 R09: 00007f977f6e1049
R10: 0000000000008000 R11: 0000000000000293 R12: 00007f977f6e1049
R13: 00007ffc28c896e0 R14: 00007ffc28c89720 R15: 0000000000000000
</TASK>
---
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.
^ permalink raw reply [flat|nested] 7+ messages in thread* Forwarded: Re: [syzbot] [bluetooth?] WARNING: ODEBUG bug in hci_release_dev (2)
2024-07-24 13:25 [syzbot] [bluetooth?] WARNING: ODEBUG bug in hci_release_dev (2) syzbot
2024-10-14 23:11 ` syzbot
2024-12-21 14:19 ` syzbot
@ 2026-03-16 16:07 ` syzbot
2026-03-17 15:12 ` Forwarded: " syzbot
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: syzbot @ 2026-03-16 16:07 UTC (permalink / raw)
To: linux-kernel, syzkaller-bugs
For archival purposes, forwarding an incoming command email to
linux-kernel@vger.kernel.org, syzkaller-bugs@googlegroups.com.
***
Subject: Re: [syzbot] [bluetooth?] WARNING: ODEBUG bug in hci_release_dev (2)
Author: abysamross@gmail.com
#syz test
^ permalink raw reply [flat|nested] 7+ messages in thread* Forwarded: Re: Re: [syzbot] [bluetooth?] WARNING: ODEBUG bug in hci_release_dev (2)
2024-07-24 13:25 [syzbot] [bluetooth?] WARNING: ODEBUG bug in hci_release_dev (2) syzbot
` (2 preceding siblings ...)
2026-03-16 16:07 ` Forwarded: " syzbot
@ 2026-03-17 15:12 ` syzbot
2026-03-21 10:49 ` Forwarded: test syzbot+b170dbf55520ebf5969a syzbot
2026-03-21 11:28 ` Forwarded: test fix for syzbot+b170dbf55520ebf5969a syzbot
5 siblings, 0 replies; 7+ messages in thread
From: syzbot @ 2026-03-17 15:12 UTC (permalink / raw)
To: linux-kernel, syzkaller-bugs
For archival purposes, forwarding an incoming command email to
linux-kernel@vger.kernel.org, syzkaller-bugs@googlegroups.com.
***
Subject: Re: Re: [syzbot] [bluetooth?] WARNING: ODEBUG bug in hci_release_dev (2)
Author: abysamross@gmail.com
#syz test
======================================================================
From 006a3d0d3cc1b5e7be6d4eec2cbafacdbd40816c Mon Sep 17 00:00:00 2001
From: Aby Sam Ross <abysamross@gmail.com>
Date: Tue, 17 Mar 2026 00:21:32 +0530
Subject: [PATCH v1 1/1] Bluetooth: hci_release_dev: cancel coredump work
The hci device's coredump timeout work remains active when the memory
associated with the hci device is freed up in hci_release_dev(), causing
an active object to be freed.
Cancel all hci coredump related work while in hci_release_dev().
Signed-off-by: Aby Sam Ross <abysamross@gmail.com>
---
include/net/bluetooth/coredump.h | 3 +++
net/bluetooth/coredump.c | 7 +++++++
net/bluetooth/hci_core.c | 1 +
3 files changed, 11 insertions(+)
diff --git a/include/net/bluetooth/coredump.h b/include/net/bluetooth/coredump.h
index 72f51b587a04..18318a1f8e1a 100644
--- a/include/net/bluetooth/coredump.h
+++ b/include/net/bluetooth/coredump.h
@@ -71,6 +71,7 @@ int hci_devcd_append(struct hci_dev *hdev, struct sk_buff *skb);
int hci_devcd_append_pattern(struct hci_dev *hdev, u8 pattern, u32 len);
int hci_devcd_complete(struct hci_dev *hdev);
int hci_devcd_abort(struct hci_dev *hdev);
+void hci_devcd_cancel_work_sync(struct hci_dev *hdev);
#else
@@ -111,6 +112,8 @@ static inline int hci_devcd_abort(struct hci_dev *hdev)
return -EOPNOTSUPP;
}
+static inline void hci_devcd_cancel_work_sync(struct hci_dev *hdev) {}
+
#endif /* CONFIG_DEV_COREDUMP */
#endif /* __COREDUMP_H */
diff --git a/net/bluetooth/coredump.c b/net/bluetooth/coredump.c
index 720cb79adf96..e3b65d627019 100644
--- a/net/bluetooth/coredump.c
+++ b/net/bluetooth/coredump.c
@@ -84,6 +84,13 @@ static void hci_devcd_notify(struct hci_dev *hdev, int state)
hdev->dump.notify_change(hdev, state);
}
+
+void hci_devcd_cancel_work_sync(struct hci_dev *hdev)
+{
+ cancel_work_sync(&hdev->dump.dump_rx);
+ cancel_delayed_work_sync(&hdev->dump.dump_timeout);
+}
+
/* Call with hci_dev_lock only. */
void hci_devcd_reset(struct hci_dev *hdev)
{
diff --git a/net/bluetooth/hci_core.c b/net/bluetooth/hci_core.c
index 31308c1de4ec..95416cd0d580 100644
--- a/net/bluetooth/hci_core.c
+++ b/net/bluetooth/hci_core.c
@@ -2749,6 +2749,7 @@ void hci_release_dev(struct hci_dev *hdev)
destroy_workqueue(hdev->workqueue);
destroy_workqueue(hdev->req_workqueue);
+ hci_devcd_cancel_work_sync(hdev);
hci_dev_lock(hdev);
hci_bdaddr_list_clear(&hdev->reject_list);
--
2.53.0
^ permalink raw reply related [flat|nested] 7+ messages in thread* Forwarded: test syzbot+b170dbf55520ebf5969a
2024-07-24 13:25 [syzbot] [bluetooth?] WARNING: ODEBUG bug in hci_release_dev (2) syzbot
` (3 preceding siblings ...)
2026-03-17 15:12 ` Forwarded: " syzbot
@ 2026-03-21 10:49 ` syzbot
2026-03-21 11:28 ` Forwarded: test fix for syzbot+b170dbf55520ebf5969a syzbot
5 siblings, 0 replies; 7+ messages in thread
From: syzbot @ 2026-03-21 10:49 UTC (permalink / raw)
To: linux-kernel, syzkaller-bugs
For archival purposes, forwarding an incoming command email to
linux-kernel@vger.kernel.org, syzkaller-bugs@googlegroups.com.
***
Subject: test syzbot+b170dbf55520ebf5969a
Author: abysamross@gmail.com
#syz test
^ permalink raw reply [flat|nested] 7+ messages in thread* Forwarded: test fix for syzbot+b170dbf55520ebf5969a
2024-07-24 13:25 [syzbot] [bluetooth?] WARNING: ODEBUG bug in hci_release_dev (2) syzbot
` (4 preceding siblings ...)
2026-03-21 10:49 ` Forwarded: test syzbot+b170dbf55520ebf5969a syzbot
@ 2026-03-21 11:28 ` syzbot
5 siblings, 0 replies; 7+ messages in thread
From: syzbot @ 2026-03-21 11:28 UTC (permalink / raw)
To: linux-kernel, syzkaller-bugs
For archival purposes, forwarding an incoming command email to
linux-kernel@vger.kernel.org, syzkaller-bugs@googlegroups.com.
***
Subject: test fix for syzbot+b170dbf55520ebf5969a
Author: abysamross@gmail.com
#syz test
===============================
From 4c574f30487b7aa767f29689692e1e54d672c508 Mon Sep 17 00:00:00 2001
From: Aby Sam Ross <abysamross@gmail.com>
Date: Sat, 21 Mar 2026 15:12:16 +0530
Subject: [PATCH v1 1/1] Bluetooth: hci_release_dev: disable delayed hci
devcoredump timeout work
It is not necessary that the pending delayed hci devcoredump timeout
work, hdev->dump.dump_timeout, submitted to the hdev->workqueue by the
bluetooth devcoredump state machine, hci_devcd_rx() ( -->
hci_devcd_handle_pkt_init()) will be reset by it or by the timeout func
hci_devcd_timeout() before destroying the workqueue or before the hci
device is freed up in hci_release_dev().
In this bug the active delayed devcoredump timeout work's timer object
is active when the memory associated with the hci device is freed up in
hci_release_dev() causing the ODEBUG WARNING.
Make sure that the delayed devcoredump timeout work is disabled before
the hdev->workqueue is destroyed and before the hdev memory is freed in
hci_release_dev().
Tested the change with the syzbot reproducer that uses a vhci device
locally on x86_64 and on syzbot portal as well.
Closes: https://syzkaller.appspot.com/bug?extid=b170dbf55520ebf5969a
Tested-by: syzbot+b170dbf55520ebf5969a@syzkaller.appspotmail.com
Reported-by: syzbot+b170dbf55520ebf5969a@syzkaller.appspotmail.com
Signed-off-by: Aby Sam Ross <abysamross@gmail.com>
---
net/bluetooth/hci_core.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/net/bluetooth/hci_core.c b/net/bluetooth/hci_core.c
index 31308c1de4ec..3e7b4c8576b2 100644
--- a/net/bluetooth/hci_core.c
+++ b/net/bluetooth/hci_core.c
@@ -2747,6 +2747,9 @@ void hci_release_dev(struct hci_dev *hdev)
kfree_const(hdev->hw_info);
kfree_const(hdev->fw_info);
+ if (hdev->dump.supported) {
+ disable_delayed_work_sync(&hdev->dump.dump_timeout);
+ }
destroy_workqueue(hdev->workqueue);
destroy_workqueue(hdev->req_workqueue);
--
2.53.0
^ permalink raw reply related [flat|nested] 7+ messages in thread