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