Bluetooth: hci4: hardware error 0x00 ================================================================== BUG: KASAN: null-ptr-deref in instrument_atomic_read include/linux/instrumented.h:68 [inline] BUG: KASAN: null-ptr-deref in _test_bit include/asm-generic/bitops/instrumented-non-atomic.h:141 [inline] BUG: KASAN: null-ptr-deref in ida_free+0x218/0x2e0 lib/idr.c:511 Read of size 8 at addr 0000000000000000 by task kworker/u5:0/31517 CPU: 0 PID: 31517 Comm: kworker/u5:0 Not tainted 6.7.0-rc2-syzkaller-00206-gb46ae77f6787 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 11/10/2023 Workqueue: hci4 hci_error_reset Call Trace: __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0xd9/0x1b0 lib/dump_stack.c:106 kasan_report+0xda/0x110 mm/kasan/report.c:588 check_region_inline mm/kasan/generic.c:181 [inline] kasan_check_range+0xef/0x190 mm/kasan/generic.c:187 instrument_atomic_read include/linux/instrumented.h:68 [inline] _test_bit include/asm-generic/bitops/instrumented-non-atomic.h:141 [inline] ida_free+0x218/0x2e0 lib/idr.c:511 hci_conn_cleanup net/bluetooth/hci_conn.c:157 [inline] hci_conn_del+0x78c/0xe10 net/bluetooth/hci_conn.c:1182 hci_conn_hash_flush+0x189/0x260 net/bluetooth/hci_conn.c:2615 hci_dev_close_sync+0x5a7/0x1160 net/bluetooth/hci_sync.c:5021 hci_dev_do_close+0x2e/0x90 net/bluetooth/hci_core.c:554 hci_error_reset+0xa6/0x190 net/bluetooth/hci_core.c:1059 process_one_work+0x886/0x15d0 kernel/workqueue.c:2630 process_scheduled_works kernel/workqueue.c:2703 [inline] worker_thread+0x8b9/0x1290 kernel/workqueue.c:2784 kthread+0x2c6/0x3a0 kernel/kthread.c:388 ret_from_fork+0x45/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x11/0x20 arch/x86/entry/entry_64.S:242 ================================================================== BUG: kernel NULL pointer dereference, address: 0000000000000000 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page PGD 87d8c067 P4D 87d8c067 PUD 87b0b067 PMD 0 Oops: 0000 [#1] PREEMPT SMP KASAN CPU: 0 PID: 31517 Comm: kworker/u5:0 Tainted: G B 6.7.0-rc2-syzkaller-00206-gb46ae77f6787 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 11/10/2023 Workqueue: hci4 hci_error_reset RIP: 0010:variable_test_bit arch/x86/include/asm/bitops.h:227 [inline] RIP: 0010:arch_test_bit arch/x86/include/asm/bitops.h:239 [inline] RIP: 0010:_test_bit include/asm-generic/bitops/instrumented-non-atomic.h:142 [inline] RIP: 0010:ida_free+0x218/0x2e0 lib/idr.c:511 Code: 41 5c 41 5d 41 5e 41 5f c3 e8 b4 d6 1b f7 4c 89 e8 be 08 00 00 00 48 c1 e8 06 49 8d 04 c4 48 89 c7 48 89 04 24 e8 48 83 72 f7 <4d> 0f a3 2c 24 41 0f 92 c7 31 ff 44 89 fe e8 b5 d1 1b f7 45 84 ff RSP: 0018:ffffc9000af57a78 EFLAGS: 00010046 RAX: 0000000000000000 RBX: 1ffff920015eaf50 RCX: ffffffff814dc07f RDX: ffff88802de61dc0 RSI: ffffffff81de17c7 RDI: 0000000000000007 RBP: 0000000000002000 R08: 0000000000000007 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000001 R12: 0000000000000000 R13: 0000000000000000 R14: 0000000000000293 R15: 0000000000000000 FS: 0000000000000000(0000) GS:ffff8880b9800000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000000 CR3: 000000007650a000 CR4: 0000000000350ef0 Call Trace: hci_conn_cleanup net/bluetooth/hci_conn.c:157 [inline] hci_conn_del+0x78c/0xe10 net/bluetooth/hci_conn.c:1182 hci_conn_hash_flush+0x189/0x260 net/bluetooth/hci_conn.c:2615 hci_dev_close_sync+0x5a7/0x1160 net/bluetooth/hci_sync.c:5021 hci_dev_do_close+0x2e/0x90 net/bluetooth/hci_core.c:554 hci_error_reset+0xa6/0x190 net/bluetooth/hci_core.c:1059 process_one_work+0x886/0x15d0 kernel/workqueue.c:2630 process_scheduled_works kernel/workqueue.c:2703 [inline] worker_thread+0x8b9/0x1290 kernel/workqueue.c:2784 kthread+0x2c6/0x3a0 kernel/kthread.c:388 ret_from_fork+0x45/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x11/0x20 arch/x86/entry/entry_64.S:242 Modules linked in: CR2: 0000000000000000 ---[ end trace 0000000000000000 ]--- RIP: 0010:variable_test_bit arch/x86/include/asm/bitops.h:227 [inline] RIP: 0010:arch_test_bit arch/x86/include/asm/bitops.h:239 [inline] RIP: 0010:_test_bit include/asm-generic/bitops/instrumented-non-atomic.h:142 [inline] RIP: 0010:ida_free+0x218/0x2e0 lib/idr.c:511 Code: 41 5c 41 5d 41 5e 41 5f c3 e8 b4 d6 1b f7 4c 89 e8 be 08 00 00 00 48 c1 e8 06 49 8d 04 c4 48 89 c7 48 89 04 24 e8 48 83 72 f7 <4d> 0f a3 2c 24 41 0f 92 c7 31 ff 44 89 fe e8 b5 d1 1b f7 45 84 ff RSP: 0018:ffffc9000af57a78 EFLAGS: 00010046 RAX: 0000000000000000 RBX: 1ffff920015eaf50 RCX: ffffffff814dc07f RDX: ffff88802de61dc0 RSI: ffffffff81de17c7 RDI: 0000000000000007 RBP: 0000000000002000 R08: 0000000000000007 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000001 R12: 0000000000000000 R13: 0000000000000000 R14: 0000000000000293 R15: 0000000000000000 FS: 0000000000000000(0000) GS:ffff8880b9800000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000000 CR3: 000000007650a000 CR4: 0000000000350ef0 ---------------- Code disassembly (best guess): 0: 41 5c pop %r12 2: 41 5d pop %r13 4: 41 5e pop %r14 6: 41 5f pop %r15 8: c3 ret 9: e8 b4 d6 1b f7 call 0xf71bd6c2 e: 4c 89 e8 mov %r13,%rax 11: be 08 00 00 00 mov $0x8,%esi 16: 48 c1 e8 06 shr $0x6,%rax 1a: 49 8d 04 c4 lea (%r12,%rax,8),%rax 1e: 48 89 c7 mov %rax,%rdi 21: 48 89 04 24 mov %rax,(%rsp) 25: e8 48 83 72 f7 call 0xf7728372 * 2a: 4d 0f a3 2c 24 bt %r13,(%r12) <-- trapping instruction 2f: 41 0f 92 c7 setb %r15b 33: 31 ff xor %edi,%edi 35: 44 89 fe mov %r15d,%esi 38: e8 b5 d1 1b f7 call 0xf71bd1f2 3d: 45 84 ff test %r15b,%r15b