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: 0 PID: 13742 Comm: syz-executor.1 Not tainted 5.18.0-rc6-syzkaller-00007-g9be9ed2612b5 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0x1e3/0x2cb lib/dump_stack.c:106 assign_lock_key+0x22a/0x240 kernel/locking/lockdep.c:949 register_lock_class+0x287/0x9d0 kernel/locking/lockdep.c:1262 __lock_acquire+0xe9/0x1f80 kernel/locking/lockdep.c:4908 lock_acquire+0x1a7/0x400 kernel/locking/lockdep.c:5641 percpu_down_read+0x44/0x190 include/linux/percpu-rwsem.h:51 hci_uart_flush+0xd2/0x310 drivers/bluetooth/hci_ldisc.c:240 hci_uart_close drivers/bluetooth/hci_ldisc.c:266 [inline] hci_uart_tty_close+0x8e/0x280 drivers/bluetooth/hci_ldisc.c:536 tty_ldisc_kill drivers/tty/tty_ldisc.c:608 [inline] tty_ldisc_hangup+0x432/0x610 drivers/tty/tty_ldisc.c:724 __tty_hangup+0x494/0x6d0 drivers/tty/tty_io.c:637 tty_vhangup drivers/tty/tty_io.c:707 [inline] tty_ioctl+0x606/0xc60 drivers/tty/tty_io.c:2718 vfs_ioctl fs/ioctl.c:51 [inline] __do_sys_ioctl fs/ioctl.c:870 [inline] __se_sys_ioctl+0xfb/0x170 fs/ioctl.c:856 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x2b/0x70 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x44/0xae RIP: 0033:0x7fcbe28890e9 Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 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 b8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007fcbe3a22168 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 RAX: ffffffffffffffda RBX: 00007fcbe299c100 RCX: 00007fcbe28890e9 RDX: 0000000000000000 RSI: 0000000000005437 RDI: 0000000000000003 RBP: 00007fcbe28e308d R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 00007ffde5942f4f R14: 00007fcbe3a22300 R15: 0000000000022000 general protection fault, probably for non-canonical address 0xdffffc0000000000: 0000 [#1] PREEMPT SMP KASAN KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007] CPU: 0 PID: 13742 Comm: syz-executor.1 Not tainted 5.18.0-rc6-syzkaller-00007-g9be9ed2612b5 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 RIP: 0010:__wake_up_locked+0xa7/0x1a0 kernel/sched/wait.c:165 Code: 00 fc ff df 4c 8b 73 40 66 2e 0f 1f 84 00 00 00 00 00 90 4d 39 f4 0f 84 b3 00 00 00 4c 89 f3 49 8d 6e e8 4c 89 f0 48 c1 e8 03 <80> 3c 10 00 74 12 48 89 df e8 fb 6d 72 00 48 ba 00 00 00 00 00 fc RSP: 0018:ffffc90002f9fc08 EFLAGS: 00010046 RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000001 RDX: dffffc0000000000 RSI: 0000000000000003 RDI: ffff8880778428c8 RBP: ffffffffffffffe8 R08: dffffc0000000000 R09: fffff520005f3f64 R10: fffff520005f3f65 R11: 1ffff920005f3f64 R12: ffff888077842908 R13: dffffc0000000000 R14: 0000000000000000 R15: 0000000000000001 FS: 00007fcbe3a22700(0000) GS:ffff8880b9a00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f3679d9d090 CR3: 00000000766ce000 CR4: 00000000003506f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: rcu_sync_func+0xa8/0x200 kernel/rcu/sync.c:87 rcu_sync_enter+0x20a/0x350 kernel/rcu/sync.c:150 percpu_down_write+0x5c/0x2e0 kernel/locking/percpu-rwsem.c:221 hci_uart_tty_close+0x123/0x280 drivers/bluetooth/hci_ldisc.c:539 tty_ldisc_kill drivers/tty/tty_ldisc.c:608 [inline] tty_ldisc_hangup+0x432/0x610 drivers/tty/tty_ldisc.c:724 __tty_hangup+0x494/0x6d0 drivers/tty/tty_io.c:637 tty_vhangup drivers/tty/tty_io.c:707 [inline] tty_ioctl+0x606/0xc60 drivers/tty/tty_io.c:2718 vfs_ioctl fs/ioctl.c:51 [inline] __do_sys_ioctl fs/ioctl.c:870 [inline] __se_sys_ioctl+0xfb/0x170 fs/ioctl.c:856 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x2b/0x70 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x44/0xae RIP: 0033:0x7fcbe28890e9 Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 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 b8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007fcbe3a22168 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 RAX: ffffffffffffffda RBX: 00007fcbe299c100 RCX: 00007fcbe28890e9 RDX: 0000000000000000 RSI: 0000000000005437 RDI: 0000000000000003 RBP: 00007fcbe28e308d R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 00007ffde5942f4f R14: 00007fcbe3a22300 R15: 0000000000022000 Modules linked in: ---[ end trace 0000000000000000 ]--- RIP: 0010:__wake_up_locked+0xa7/0x1a0 kernel/sched/wait.c:165 Code: 00 fc ff df 4c 8b 73 40 66 2e 0f 1f 84 00 00 00 00 00 90 4d 39 f4 0f 84 b3 00 00 00 4c 89 f3 49 8d 6e e8 4c 89 f0 48 c1 e8 03 <80> 3c 10 00 74 12 48 89 df e8 fb 6d 72 00 48 ba 00 00 00 00 00 fc RSP: 0018:ffffc90002f9fc08 EFLAGS: 00010046 RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000001 RDX: dffffc0000000000 RSI: 0000000000000003 RDI: ffff8880778428c8 RBP: ffffffffffffffe8 R08: dffffc0000000000 R09: fffff520005f3f64 R10: fffff520005f3f65 R11: 1ffff920005f3f64 R12: ffff888077842908 R13: dffffc0000000000 R14: 0000000000000000 R15: 0000000000000001 FS: 00007fcbe3a22700(0000) GS:ffff8880b9a00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f3679d9d090 CR3: 00000000766ce000 CR4: 00000000003506f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 ---------------- Code disassembly (best guess), 3 bytes skipped: 0: df 4c 8b 73 fisttps 0x73(%rbx,%rcx,4) 4: 40 rex 5: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1) c: 00 00 00 f: 90 nop 10: 4d 39 f4 cmp %r14,%r12 13: 0f 84 b3 00 00 00 je 0xcc 19: 4c 89 f3 mov %r14,%rbx 1c: 49 8d 6e e8 lea -0x18(%r14),%rbp 20: 4c 89 f0 mov %r14,%rax 23: 48 c1 e8 03 shr $0x3,%rax * 27: 80 3c 10 00 cmpb $0x0,(%rax,%rdx,1) <-- trapping instruction 2b: 74 12 je 0x3f 2d: 48 89 df mov %rbx,%rdi 30: e8 fb 6d 72 00 callq 0x726e30 35: 48 rex.W 36: ba 00 00 00 00 mov $0x0,%edx 3b: 00 fc add %bh,%ah