Kernel bug: general protection fault in device_move
Subsystem: kernel
Status: open

Crash report:
Oops: general protection fault, probably for non-canonical address 0xdffffc000000000b: 0000 [#1] SMP KASAN PTI
KASAN: null-ptr-deref in range [0x0000000000000058-0x000000000000005f]
CPU: 0 UID: 0 PID: 10396 Comm: syz-executor Not tainted 6.16.0-rc3-syzkaller-00044-g7595b66ae9de #0 PREEMPT(full) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025
RIP: 0010:klist_put lib/klist.c:212 [inline]
RIP: 0010:klist_del lib/klist.c:230 [inline]
RIP: 0010:klist_remove+0x14a/0x340 lib/klist.c:249
Code: 4d 89 f5 49 c1 ed 03 43 80 7c 3d 00 00 74 08 4c 89 f7 e8 99 db cb f6 4d 8b 26 49 83 e4 fe 49 8d 7c 24 58 48 89 f8 48 c1 e8 03 <42> 80 3c 38 00 74 05 e8 7a db cb f6 49 8b 44 24 58 48 89 44 24 08
RSP: 0018:ffffc90004f4f600 EFLAGS: 00010202
RAX: 000000000000000b RBX: ffff888035b08000 RCX: 0000000000000000
RDX: 0000000000000000 RSI: 0000000000000004 RDI: 0000000000000058
RBP: ffffc90004f4f6e8 R08: ffffffff8f867143 R09: 1ffffffff1f0ce28
R10: dffffc0000000000 R11: fffffbfff1f0ce29 R12: 0000000000000000
R13: 1ffff110285f388c R14: ffff888142f9c460 R15: dffffc0000000000
FS:  0000000000000000(0000) GS:ffff888125c83000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000055ebe60eacc0 CR3: 00000000343b0000 CR4: 00000000003526f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <TASK>
 device_move+0x193/0x700 drivers/base/core.c:4618
 hci_conn_del_sysfs+0xb8/0x170 net/bluetooth/hci_sysfs.c:75
 hci_conn_cleanup net/bluetooth/hci_conn.c:175 [inline]
 hci_conn_del+0x8ff/0xcb0 net/bluetooth/hci_conn.c:1173
 hci_conn_hash_flush+0x191/0x230 net/bluetooth/hci_conn.c:2561
 hci_dev_close_sync+0xaef/0x1330 net/bluetooth/hci_sync.c:5250
 hci_dev_do_close net/bluetooth/hci_core.c:483 [inline]
 hci_unregister_dev+0x206/0x500 net/bluetooth/hci_core.c:2691
 vhci_release+0x80/0xd0 drivers/bluetooth/hci_vhci.c:665
 __fput+0x449/0xa70 fs/file_table.c:465
 task_work_run+0x1d1/0x260 kernel/task_work.c:227
 exit_task_work include/linux/task_work.h:40 [inline]
 do_exit+0x6b5/0x22e0 kernel/exit.c:964
 do_group_exit+0x21c/0x2d0 kernel/exit.c:1105
 get_signal+0x125e/0x1310 kernel/signal.c:3034
 arch_do_signal_or_restart+0x9a/0x750 arch/x86/kernel/signal.c:337
 exit_to_user_mode_loop+0x75/0x110 kernel/entry/common.c:111
 exit_to_user_mode_prepare include/linux/entry-common.h:330 [inline]
 syscall_exit_to_user_mode_work include/linux/entry-common.h:414 [inline]
 syscall_exit_to_user_mode include/linux/entry-common.h:449 [inline]
 do_syscall_64+0x2bd/0x3b0 arch/x86/entry/syscall_64.c:100
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7ff49718d58a
Code: Unable to access opcode bytes at 0x7ff49718d560.
RSP: 002b:00007ffdb0c713d0 EFLAGS: 00000293 ORIG_RAX: 0000000000000003
RAX: 0000000000000000 RBX: 0000000000000003 RCX: 00007ff49718d58a
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000003
RBP: 00007ffdb0c7142c R08: 00007ffdb0c70d2c R09: 00007ffdb0c71137
R10: 00007ffdb0c70db0 R11: 0000000000000293 R12: 0000000000000258
R13: 00000000000927c0 R14: 000000000005b6e1 R15: 00007ffdb0c71480
 </TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:klist_put lib/klist.c:212 [inline]
RIP: 0010:klist_del lib/klist.c:230 [inline]
RIP: 0010:klist_remove+0x14a/0x340 lib/klist.c:249
Code: 4d 89 f5 49 c1 ed 03 43 80 7c 3d 00 00 74 08 4c 89 f7 e8 99 db cb f6 4d 8b 26 49 83 e4 fe 49 8d 7c 24 58 48 89 f8 48 c1 e8 03 <42> 80 3c 38 00 74 05 e8 7a db cb f6 49 8b 44 24 58 48 89 44 24 08
RSP: 0018:ffffc90004f4f600 EFLAGS: 00010202
RAX: 000000000000000b RBX: ffff888035b08000 RCX: 0000000000000000
RDX: 0000000000000000 RSI: 0000000000000004 RDI: 0000000000000058
RBP: ffffc90004f4f6e8 R08: ffffffff8f867143 R09: 1ffffffff1f0ce28
R10: dffffc0000000000 R11: fffffbfff1f0ce29 R12: 0000000000000000
R13: 1ffff110285f388c R14: ffff888142f9c460 R15: dffffc0000000000
FS:  0000000000000000(0000) GS:ffff888125d83000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000055ae783c2950 CR3: 00000000773ea000 CR4: 00000000003526f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess):
   0:	4d 89 f5             	mov    %r14,%r13
   3:	49 c1 ed 03          	shr    $0x3,%r13
   7:	43 80 7c 3d 00 00    	cmpb   $0x0,0x0(%r13,%r15,1)
   d:	74 08                	je     0x17
   f:	4c 89 f7             	mov    %r14,%rdi
  12:	e8 99 db cb f6       	call   0xf6cbdbb0
  17:	4d 8b 26             	mov    (%r14),%r12
  1a:	49 83 e4 fe          	and    $0xfffffffffffffffe,%r12
  1e:	49 8d 7c 24 58       	lea    0x58(%r12),%rdi
  23:	48 89 f8             	mov    %rdi,%rax
  26:	48 c1 e8 03          	shr    $0x3,%rax
* 2a:	42 80 3c 38 00       	cmpb   $0x0,(%rax,%r15,1) <-- trapping instruction
  2f:	74 05                	je     0x36
  31:	e8 7a db cb f6       	call   0xf6cbdbb0
  36:	49 8b 44 24 58       	mov    0x58(%r12),%rax
  3b:	48 89 44 24 08       	mov    %rax,0x8(%rsp)