list_del corruption. prev->next should be ffff888147a5bc68, but was ffff888021d39840
------------[ cut here ]------------
kernel BUG at lib/list_debug.c:51!
invalid opcode: 0000 [#1] PREEMPT SMP KASAN
CPU: 1 PID: 8455 Comm: syz-executor871 Not tainted 5.12.0-next-20210507-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:__list_del_entry_valid.cold+0xf/0x4a lib/list_debug.c:51
Code: e8 26 a3 f2 ff 0f 0b 48 89 f1 48 c7 c7 c0 f6 c2 89 4c 89 e6 e8 12 a3 f2 ff 0f 0b 48 89 ee 48 c7 c7 60 f8 c2 89 e8 01 a3 f2 ff <0f> 0b 4c 89 ea 48 89 ee 48 c7 c7 a0 f7 c2 89 e8 ed a2 f2 ff 0f 0b
RSP: 0000:ffffc90000ebf928 EFLAGS: 00010282
RAX: 0000000000000054 RBX: 0000000000000001 RCX: 0000000000000000
RDX: ffff888027830000 RSI: ffffffff815ccd25 RDI: fffff520001d7f17
RBP: ffff888147a5bc68 R08: 0000000000000054 R09: 0000000000000000
R10: ffffffff815c6b8e R11: 0000000000000000 R12: ffff8881409cdc68
R13: ffff8881409cdc68 R14: ffff888147a5bc60 R15: 0000000000000000
FS:  0000000000000000(0000) GS:ffff8880b9d00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f0f9b39b030 CR3: 0000000018e92000 CR4: 00000000001506e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 __list_del_entry include/linux/list.h:132 [inline]
 list_del include/linux/list.h:146 [inline]
 klist_release+0x66/0x480 lib/klist.c:189
 kref_put include/linux/kref.h:65 [inline]
 klist_dec_and_del lib/klist.c:206 [inline]
 klist_put+0xf7/0x1d0 lib/klist.c:217
 device_del+0x245/0xd40 drivers/base/core.c:3486
 hci_conn_del_sysfs+0xdc/0x180 net/bluetooth/hci_sysfs.c:78
 hci_conn_cleanup+0x2e7/0x6c0 net/bluetooth/hci_conn.c:138
 hci_conn_del+0x2a0/0x790 net/bluetooth/hci_conn.c:678
 hci_conn_hash_flush+0x19c/0x260 net/bluetooth/hci_conn.c:1609
 hci_dev_do_close+0x569/0x1110 net/bluetooth/hci_core.c:1780
 hci_unregister_dev+0x263/0x1130 net/bluetooth/hci_core.c:3994
 vhci_release+0x70/0xe0 drivers/bluetooth/hci_vhci.c:340
 __fput+0x288/0x920 fs/file_table.c:280
 task_work_run+0xdd/0x1a0 kernel/task_work.c:164
 exit_task_work include/linux/task_work.h:32 [inline]
 do_exit+0xbfc/0x2a60 kernel/exit.c:826
 do_group_exit+0x125/0x310 kernel/exit.c:923
 __do_sys_exit_group kernel/exit.c:934 [inline]
 __se_sys_exit_group kernel/exit.c:932 [inline]
 __x64_sys_exit_group+0x3a/0x50 kernel/exit.c:932
 do_syscall_64+0x3a/0xb0 arch/x86/entry/common.c:47
 entry_SYSCALL_64_after_hwframe+0x44/0xae
RIP: 0033:0x444739
Code: Unable to access opcode bytes at RIP 0x44470f.
RSP: 002b:00007ffee45719d8 EFLAGS: 00000246 ORIG_RAX: 00000000000000e7
RAX: ffffffffffffffda RBX: 00000000004cb370 RCX: 0000000000444739
RDX: 000000000000003c RSI: 00000000000000e7 RDI: 0000000000000001
RBP: 0000000000000001 R08: ffffffffffffffbc R09: 000000ffe4571ad0
R10: 00007ffee45714a0 R11: 0000000000000246 R12: 00000000004cb370
R13: 0000000000000001 R14: 0000000000000000 R15: 0000000000000001
Modules linked in:
---[ end trace 4825748abd92c1fc ]---
RIP: 0010:__list_del_entry_valid.cold+0xf/0x4a lib/list_debug.c:51
Code: e8 26 a3 f2 ff 0f 0b 48 89 f1 48 c7 c7 c0 f6 c2 89 4c 89 e6 e8 12 a3 f2 ff 0f 0b 48 89 ee 48 c7 c7 60 f8 c2 89 e8 01 a3 f2 ff <0f> 0b 4c 89 ea 48 89 ee 48 c7 c7 a0 f7 c2 89 e8 ed a2 f2 ff 0f 0b
RSP: 0000:ffffc90000ebf928 EFLAGS: 00010282
RAX: 0000000000000054 RBX: 0000000000000001 RCX: 0000000000000000
RDX: ffff888027830000 RSI: ffffffff815ccd25 RDI: fffff520001d7f17
RBP: ffff888147a5bc68 R08: 0000000000000054 R09: 0000000000000000
R10: ffffffff815c6b8e R11: 0000000000000000 R12: ffff8881409cdc68
R13: ffff8881409cdc68 R14: ffff888147a5bc60 R15: 0000000000000000
FS:  0000000000000000(0000) GS:ffff8880b9d00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f0f9b39b030 CR3: 0000000018e92000 CR4: 00000000001506e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400