Kernel bug: WARNING in hci_connect_sco
Subsystem: bluetooth
Status: open

Crash report:
------------[ cut here ]------------
workqueue: cannot queue hci_conn_timeout on wq hci2
WARNING: kernel/workqueue.c:2270 at __queue_work+0xd08/0x1150 kernel/workqueue.c:2269, CPU#3: syz.2.32866/11989
Modules linked in:
CPU: 3 UID: 0 PID: 11989 Comm: syz.2.32866 Not tainted syzkaller #0 PREEMPT(full) 
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
RIP: 0010:__queue_work+0xd0c/0x1150 kernel/workqueue.c:2269
Code: 00 00 00 fc ff df 49 8d 94 24 78 01 00 00 48 89 f9 48 c1 e9 03 80 3c 01 00 0f 85 04 04 00 00 48 8d 3d 58 9a 0c 0f 48 8b 75 18 <67> 48 0f b9 3a e9 2a f7 ff ff e8 85 d1 38 00 90 0f 0b 90 e9 b2 f5
RSP: 0018:ffffc9000e23fbf0 EFLAGS: 00010046
RAX: dffffc0000000000 RBX: 0000000000000000 RCX: 1ffff1100ab3f94b
RDX: ffff88803bb91178 RSI: ffffffff8a86d4e0 RDI: ffffffff90dc62e0
RBP: ffff8880559fca40 R08: 0000000000000005 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: ffff88803bb91000
R13: ffff8880571c8000 R14: ffff8880559fca88 R15: ffff8880559fca48
FS:  0000555562fd2500(0000) GS:ffff8880d664a000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fdc3a071fc0 CR3: 0000000055ab7000 CR4: 0000000000352ef0
Call Trace:
 <TASK>
 __queue_delayed_work+0x365/0x470 kernel/workqueue.c:2522
 queue_delayed_work_on+0x180/0x1e0 kernel/workqueue.c:2574
 queue_delayed_work include/linux/workqueue.h:684 [inline]
 hci_conn_drop include/net/bluetooth/hci_core.h:1712 [inline]
 hci_conn_drop include/net/bluetooth/hci_core.h:1686 [inline]
 hci_connect_sco+0x4d2/0xef0 net/bluetooth/hci_conn.c:1773
 sco_connect net/bluetooth/sco.c:339 [inline]
 sco_sock_connect+0x303/0xcb0 net/bluetooth/sco.c:665
 __sys_connect_file+0x141/0x1a0 net/socket.c:2089
 __sys_connect+0x141/0x170 net/socket.c:2108
 __do_sys_connect net/socket.c:2114 [inline]
 __se_sys_connect net/socket.c:2111 [inline]
 __x64_sys_connect+0x72/0xb0 net/socket.c:2111
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0x106/0xf80 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7fdc3a19c629
Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 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 e8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007ffe50f618b8 EFLAGS: 00000246 ORIG_RAX: 000000000000002a
RAX: ffffffffffffffda RBX: 00007fdc3a415fa0 RCX: 00007fdc3a19c629
RDX: 0000000000000008 RSI: 0000200000000340 RDI: 0000000000000005
RBP: 00007fdc3a232b39 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007fdc3a415fac R14: 00007fdc3a415fa0 R15: 00007fdc3a415fa0
 </TASK>
----------------
Code disassembly (best guess):
   0:	00 00                	add    %al,(%rax)
   2:	00 fc                	add    %bh,%ah
   4:	ff                   	lcall  (bad)
   5:	df 49 8d             	fisttps -0x73(%rcx)
   8:	94                   	xchg   %eax,%esp
   9:	24 78                	and    $0x78,%al
   b:	01 00                	add    %eax,(%rax)
   d:	00 48 89             	add    %cl,-0x77(%rax)
  10:	f9                   	stc
  11:	48 c1 e9 03          	shr    $0x3,%rcx
  15:	80 3c 01 00          	cmpb   $0x0,(%rcx,%rax,1)
  19:	0f 85 04 04 00 00    	jne    0x423
  1f:	48 8d 3d 58 9a 0c 0f 	lea    0xf0c9a58(%rip),%rdi        # 0xf0c9a7e
  26:	48 8b 75 18          	mov    0x18(%rbp),%rsi
* 2a:	67 48 0f b9 3a       	ud1    (%edx),%rdi <-- trapping instruction
  2f:	e9 2a f7 ff ff       	jmp    0xfffff75e
  34:	e8 85 d1 38 00       	call   0x38d1be
  39:	90                   	nop
  3a:	0f 0b                	ud2
  3c:	90                   	nop
  3d:	e9                   	.byte 0xe9
  3e:	b2 f5                	mov    $0xf5,%dl