syzbot


INFO: trying to register non-static key in hci_uart_send_frame (2)

Status: auto-obsoleted due to no activity on 2022/10/29 20:15
Reported-by: syzbot+7eaab1b4134c93d22170@syzkaller.appspotmail.com
First crash: 663d, last: 663d
Similar bugs (4)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-4.19 INFO: trying to register non-static key in hci_uart_send_frame 1 1616d 1616d 0/1 auto-closed as invalid on 2020/03/21 04:06
upstream INFO: trying to register non-static key in hci_uart_send_frame bluetooth 2 1834d 1882d 0/26 auto-closed as invalid on 2019/10/15 09:18
upstream INFO: trying to register non-static key in hci_uart_send_frame (3) bluetooth 24 545d 906d 0/26 closed as dup on 2022/08/29 15:41
upstream INFO: trying to register non-static key in hci_uart_send_frame (2) bluetooth 1 1517d 1514d 0/26 auto-closed as invalid on 2020/06/28 09:21

Sample crash report:
dccp_invalid_packet: P.type (REQUEST) not Data || [Data]Ack, while P.X == 0
INFO: trying to register non-static key.
The code is fine but needs lockdep annotation, or maybe
you didn't initialize this object before use?
turning off the locking correctness validator.
CPU: 1 PID: 8161 Comm: kworker/u5:5 Not tainted 4.19.211-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/29/2022
new mount options do not match the existing superblock, will be ignored
Workqueue: hci6 hci_cmd_work
Call Trace:
 __dump_stack lib/dump_stack.c:77 [inline]
 dump_stack+0x1fc/0x2ef lib/dump_stack.c:118
 assign_lock_key kernel/locking/lockdep.c:728 [inline]
 register_lock_class+0xe82/0x11c0 kernel/locking/lockdep.c:754
 __lock_acquire+0x17d/0x3ff0 kernel/locking/lockdep.c:3304
 lock_acquire+0x170/0x3c0 kernel/locking/lockdep.c:3908
 percpu_down_read_preempt_disable include/linux/percpu-rwsem.h:36 [inline]
 percpu_down_read include/linux/percpu-rwsem.h:59 [inline]
 hci_uart_send_frame+0x90/0x4f0 drivers/bluetooth/hci_ldisc.c:287
 hci_send_frame+0x1b3/0x370 net/bluetooth/hci_core.c:3496
 hci_cmd_work+0x210/0x360 net/bluetooth/hci_core.c:4421
 process_one_work+0x864/0x1570 kernel/workqueue.c:2153
 worker_thread+0x64c/0x1130 kernel/workqueue.c:2296
 kthread+0x33f/0x460 kernel/kthread.c:259
 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:415
Bluetooth: hci6: sending frame failed (-49)
kasan: CONFIG_KASAN_INLINE enabled
kasan: GPF could be caused by NULL-ptr deref or user memory access
general protection fault: 0000 [#1] PREEMPT SMP KASAN
CPU: 1 PID: 14635 Comm: syz-executor.4 Not tainted 4.19.211-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/29/2022
RIP: 0010:__wake_up_common+0xdf/0x650 kernel/sched/wait.c:85
Code: 05 00 00 4c 8b 43 38 49 83 e8 18 49 8d 78 18 48 3b 3c 24 0f 84 6a 02 00 00 48 b8 00 00 00 00 00 fc ff df 48 89 f9 48 c1 e9 03 <80> 3c 01 00 0f 85 3e 05 00 00 49 8b 40 18 89 54 24 10 31 db 48 bd
RSP: 0018:ffff88809e68f650 EFLAGS: 00010046
RAX: dffffc0000000000 RBX: ffff8880992243f8 RCX: 0000000000000000
RDX: 0000000000000000 RSI: 1ffffffff148be2c RDI: 0000000000000000
RBP: 0000000000000003 R08: ffffffffffffffe8 R09: ffff88809e68f6f0
R10: ffff8880992243fb R11: 0000000000000000 R12: 0000000000000000
R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
FS:  00007f83c02f8700(0000) GS:ffff8880ba100000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fe11baae718 CR3: 00000000989f4000 CR4: 00000000003406e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 __wake_up_common_lock+0xcd/0x170 kernel/sched/wait.c:121
 rcu_sync_enter+0x1bc/0x300 kernel/rcu/sync.c:133
 percpu_down_write+0x59/0x3f0 kernel/locking/percpu-rwsem.c:143
 hci_uart_tty_close+0x186/0x2e0 drivers/bluetooth/hci_ldisc.c:544
 tty_ldisc_close+0xa2/0xd0 drivers/tty/tty_ldisc.c:493
 tty_ldisc_kill drivers/tty/tty_ldisc.c:639 [inline]
 tty_ldisc_release+0xf5/0x440 drivers/tty/tty_ldisc.c:806
 tty_release_struct+0x20/0xe0 drivers/tty/tty_io.c:1611
 tty_release+0xc70/0x1210 drivers/tty/tty_io.c:1784
 __fput+0x2ce/0x890 fs/file_table.c:278
 task_work_run+0x148/0x1c0 kernel/task_work.c:113
 exit_task_work include/linux/task_work.h:22 [inline]
 do_exit+0xbf3/0x2be0 kernel/exit.c:870
 do_group_exit+0x125/0x310 kernel/exit.c:967
 get_signal+0x3f2/0x1f70 kernel/signal.c:2589
 do_signal+0x8f/0x1670 arch/x86/kernel/signal.c:799
 exit_to_usermode_loop+0x204/0x2a0 arch/x86/entry/common.c:163
 prepare_exit_to_usermode arch/x86/entry/common.c:198 [inline]
 syscall_return_slowpath arch/x86/entry/common.c:271 [inline]
 do_syscall_64+0x538/0x620 arch/x86/entry/common.c:296
 entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x7f83c1983109
Code: Bad RIP value.
RSP: 002b:00007f83c02f8168 EFLAGS: 00000246 ORIG_RAX: 000000000000012a
RAX: 000000000000006b RBX: 00007f83c1a95f60 RCX: 00007f83c1983109
RDX: ffffffffffffffff RSI: 0000000000000000 RDI: 000000002001d000
RBP: 00007f83c19dd05d R08: 0000000000000000 R09: 0000000000000000
R10: ffffffffffffffff R11: 0000000000000246 R12: 0000000000000000
R13: 00007ffe1a70a7cf R14: 00007f83c02f8300 R15: 0000000000022000
Modules linked in:
---[ end trace 39fd7c67fe7286a1 ]---
RIP: 0010:__wake_up_common+0xdf/0x650 kernel/sched/wait.c:85
Code: 05 00 00 4c 8b 43 38 49 83 e8 18 49 8d 78 18 48 3b 3c 24 0f 84 6a 02 00 00 48 b8 00 00 00 00 00 fc ff df 48 89 f9 48 c1 e9 03 <80> 3c 01 00 0f 85 3e 05 00 00 49 8b 40 18 89 54 24 10 31 db 48 bd
RSP: 0018:ffff88809e68f650 EFLAGS: 00010046
RAX: dffffc0000000000 RBX: ffff8880992243f8 RCX: 0000000000000000
RDX: 0000000000000000 RSI: 1ffffffff148be2c RDI: 0000000000000000
RBP: 0000000000000003 R08: ffffffffffffffe8 R09: ffff88809e68f6f0
R10: ffff8880992243fb R11: 0000000000000000 R12: 0000000000000000
R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
FS:  00007f83c02f8700(0000) GS:ffff8880ba100000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f83c19830df CR3: 00000000989f4000 CR4: 00000000003406e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess):
   0:	05 00 00 4c 8b       	add    $0x8b4c0000,%eax
   5:	43 38 49 83          	rex.XB cmp %cl,-0x7d(%r9)
   9:	e8 18 49 8d 78       	callq  0x788d4926
   e:	18 48 3b             	sbb    %cl,0x3b(%rax)
  11:	3c 24                	cmp    $0x24,%al
  13:	0f 84 6a 02 00 00    	je     0x283
  19:	48 b8 00 00 00 00 00 	movabs $0xdffffc0000000000,%rax
  20:	fc ff df
  23:	48 89 f9             	mov    %rdi,%rcx
  26:	48 c1 e9 03          	shr    $0x3,%rcx
* 2a:	80 3c 01 00          	cmpb   $0x0,(%rcx,%rax,1) <-- trapping instruction
  2e:	0f 85 3e 05 00 00    	jne    0x572
  34:	49 8b 40 18          	mov    0x18(%r8),%rax
  38:	89 54 24 10          	mov    %edx,0x10(%rsp)
  3c:	31 db                	xor    %ebx,%ebx
  3e:	48                   	rex.W
  3f:	bd                   	.byte 0xbd

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2022/07/01 20:14 linux-4.19.y 3f8a27f9e27b 1434eec0 .config console log report info ci2-linux-4-19 INFO: trying to register non-static key in hci_uart_send_frame
* Struck through repros no longer work on HEAD.