================================================================== BUG: KASAN: use-after-free in hci_chan_del+0x40/0x1bc net/bluetooth/hci_conn.c:2780 Read of size 8 at addr ffff0000d90a4a18 by task syz.4.334/5282 CPU: 1 PID: 5282 Comm: syz.4.334 Not tainted syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 11/06/2026 Call trace: dump_backtrace+0x1c4/0x1f0 arch/arm64/kernel/stacktrace.c:158 show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:165 __dump_stack+0x30/0x40 lib/dump_stack.c:88 dump_stack_lvl+0xf4/0x15c lib/dump_stack.c:106 print_address_description+0x88/0x218 mm/kasan/report.c:316 print_report+0x50/0x68 mm/kasan/report.c:420 kasan_report+0xa8/0xfc mm/kasan/report.c:524 __asan_report_load8_noabort+0x2c/0x38 mm/kasan/report_generic.c:351 hci_chan_del+0x40/0x1bc net/bluetooth/hci_conn.c:2780 l2cap_conn_free net/bluetooth/l2cap_core.c:1868 [inline] kref_put include/linux/kref.h:65 [inline] l2cap_conn_put+0x80/0x10c net/bluetooth/l2cap_core.c:1882 l2cap_chan_destroy net/bluetooth/l2cap_core.c:502 [inline] kref_put include/linux/kref.h:65 [inline] l2cap_chan_put+0x194/0x26c net/bluetooth/l2cap_core.c:529 l2cap_sock_release+0x160/0x1c8 net/bluetooth/l2cap_sock.c:1494 __sock_release net/socket.c:654 [inline] sock_close+0xac/0x1ec net/socket.c:1400 __fput+0x1b4/0x7b0 fs/file_table.c:320 ____fput+0x20/0x30 fs/file_table.c:348 task_work_run+0x1f4/0x280 kernel/task_work.c:203 resume_user_mode_work include/linux/resume_user_mode.h:49 [inline] do_notify_resume+0x20f8/0x2c84 arch/arm64/kernel/signal.c:1166 prepare_exit_to_user_mode arch/arm64/kernel/entry-common.c:137 [inline] exit_to_user_mode arch/arm64/kernel/entry-common.c:142 [inline] el0_svc+0x9c/0x12c arch/arm64/kernel/entry-common.c:638 el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655 el0t_64_sync+0x18c/0x190 arch/arm64/kernel/entry.S:589 Allocated by task 5284: kasan_save_stack mm/kasan/common.c:46 [inline] kasan_set_track+0x4c/0x80 mm/kasan/common.c:53 kasan_save_alloc_info+0x24/0x30 mm/kasan/generic.c:505 ____kasan_kmalloc mm/kasan/common.c:375 [inline] __kasan_kmalloc+0xa0/0xb8 mm/kasan/common.c:384 kasan_kmalloc include/linux/kasan.h:211 [inline] kmalloc_trace+0x7c/0x94 mm/slab_common.c:1031 kmalloc include/linux/slab.h:563 [inline] kzalloc include/linux/slab.h:699 [inline] hci_chan_create+0xa8/0x2ac net/bluetooth/hci_conn.c:2765 l2cap_conn_add+0x78/0x764 net/bluetooth/l2cap_core.c:7211 l2cap_chan_connect+0x540/0xbf8 net/bluetooth/l2cap_core.c:7408 l2cap_sock_connect+0x414/0x600 net/bluetooth/l2cap_sock.c:259 __sys_connect_file net/socket.c:2011 [inline] __sys_connect+0x28c/0x2b4 net/socket.c:2028 __do_sys_connect net/socket.c:2038 [inline] __se_sys_connect net/socket.c:2035 [inline] __arm64_sys_connect+0x7c/0x94 net/socket.c:2035 __invoke_syscall arch/arm64/kernel/syscall.c:38 [inline] invoke_syscall+0x98/0x290 arch/arm64/kernel/syscall.c:52 el0_svc_common+0x13c/0x258 arch/arm64/kernel/syscall.c:140 do_el0_svc+0x5c/0x134 arch/arm64/kernel/syscall.c:204 el0_svc+0x58/0x12c arch/arm64/kernel/entry-common.c:637 el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655 el0t_64_sync+0x18c/0x190 arch/arm64/kernel/entry.S:589 Freed by task 5257: kasan_save_stack mm/kasan/common.c:46 [inline] kasan_set_track+0x4c/0x80 mm/kasan/common.c:53 kasan_save_free_info+0x38/0x5c mm/kasan/generic.c:516 ____kasan_slab_free+0x148/0x1b0 mm/kasan/common.c:237 __kasan_slab_free+0x18/0x28 mm/kasan/common.c:245 kasan_slab_free include/linux/kasan.h:177 [inline] slab_free_hook mm/slub.c:1735 [inline] slab_free_freelist_hook+0x16c/0x1e8 mm/slub.c:1761 slab_free mm/slub.c:3694 [inline] __kmem_cache_free+0xbc/0x21c mm/slub.c:3707 kfree+0xd0/0x1a8 mm/slab_common.c:988 hci_chan_del+0x148/0x1bc net/bluetooth/hci_conn.c:2795 hci_chan_list_flush net/bluetooth/hci_conn.c:2805 [inline] hci_conn_cleanup+0x12c/0x6ac net/bluetooth/hci_conn.c:149 hci_conn_del+0x308/0x560 net/bluetooth/hci_conn.c:1234 hci_conn_failed+0x20c/0x2c0 net/bluetooth/hci_conn.c:1331 hci_abort_conn_sync+0x8c0/0xb2c net/bluetooth/hci_sync.c:5647 hci_disconnect_all_sync+0x1b0/0x35c net/bluetooth/hci_sync.c:5670 hci_suspend_sync+0x458/0xdf4 net/bluetooth/hci_sync.c:6181 hci_suspend_dev+0x14c/0x2d0 net/bluetooth/hci_core.c:2849 hci_suspend_notifier+0xe4/0x264 net/bluetooth/hci_core.c:2422 notifier_call_chain kernel/notifier.c:87 [inline] notifier_call_chain_robust+0xe0/0x288 kernel/notifier.c:122 blocking_notifier_call_chain_robust+0x74/0xa8 kernel/notifier.c:347 pm_notifier_call_chain_robust+0x34/0x60 kernel/power/main.c:90 snapshot_open+0x17c/0x268 kernel/power/user.c:77 misc_open+0x310/0x388 drivers/char/misc.c:145 chrdev_open+0x3d0/0x51c fs/char_dev.c:414 do_dentry_open+0x738/0xf8c fs/open.c:882 vfs_open+0x7c/0x90 fs/open.c:1015 do_open fs/namei.c:3677 [inline] path_openat+0x1fc0/0x27a0 fs/namei.c:3838 do_filp_open+0x198/0x38c fs/namei.c:3865 do_sys_openat2+0x134/0x3fc fs/open.c:1320 do_sys_open fs/open.c:1336 [inline] __do_sys_openat fs/open.c:1352 [inline] __se_sys_openat fs/open.c:1347 [inline] __arm64_sys_openat+0x11c/0x150 fs/open.c:1347 __invoke_syscall arch/arm64/kernel/syscall.c:38 [inline] invoke_syscall+0x98/0x290 arch/arm64/kernel/syscall.c:52 el0_svc_common+0x13c/0x258 arch/arm64/kernel/syscall.c:140 do_el0_svc+0x5c/0x134 arch/arm64/kernel/syscall.c:204 el0_svc+0x58/0x12c arch/arm64/kernel/entry-common.c:637 el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655 el0t_64_sync+0x18c/0x190 arch/arm64/kernel/entry.S:589 The buggy address belongs to the object at ffff0000d90a4a00 which belongs to the cache kmalloc-128 of size 128 The buggy address is located 24 bytes inside of 128-byte region [ffff0000d90a4a00, ffff0000d90a4a80) The buggy address belongs to the physical page: page:000000004977f70d refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x1190a4 flags: 0x5ffc00000000200(slab|node=0|zone=2|lastcpupid=0x7ff) raw: 05ffc00000000200 dead000000000100 dead000000000122 ffff0000c0002300 raw: 0000000000000000 0000000000100010 00000001ffffffff 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff0000d90a4900: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff0000d90a4980: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc >ffff0000d90a4a00: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff0000d90a4a80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ffff0000d90a4b00: 00 fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ================================================================== Unable to handle kernel paging request at virtual address 007f8086a0000291 Mem abort info: ESR = 0x0000000096000004 EC = 0x25: DABT (current EL), IL = 32 bits SET = 0, FnV = 0 EA = 0, S1PTW = 0 FSC = 0x04: level 0 translation fault Data abort info: ISV = 0, ISS = 0x00000004 CM = 0, WnR = 0 [007f8086a0000291] address between user and kernel address ranges Internal error: Oops: 0000000096000004 [#1] PREEMPT SMP Modules linked in: CPU: 0 PID: 5282 Comm: syz.4.334 Tainted: G B syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 11/06/2026 pstate: 02400005 (nzcv daif +PAN -UAO +TCO -DIT -SSBS BTYPE=--) pc : __list_del_entry_valid+0x7c/0x15c lib/list_debug.c:59 lr : __list_del_entry_valid+0x50/0x15c lib/list_debug.c:47 sp : ffff800022e27920 x29: ffff800022e27920 x28: 1fffe000197355e4 x27: dfff800000000000 x26: 0000000000000000 x25: 1fffe000197355e5 x24: ffff0000d74f0498 x23: ffff0000d74f0490 x22: dfff800000000000 x21: 0400043500001489 x20: ffff0000f5428200 x19: ffff0000d90a4a00 x18: 1fffe00033c2177e x17: ffff8000163dd000 x16: ffff800008043dd4 x15: 0000000040000000 x14: 0000000000000001 x13: 1ffff000031fab68 x12: 0000000000000000 x11: ff00800010d6ea00 x10: 0000000000000000 x9 : ffff80001d66f950 x8 : 00800086a0000291 x7 : ffff800011cfc180 x6 : ffff80000825b754 x5 : 0000000000000000 x4 : 0000000000000001 x3 : ffff80000a932b2c x2 : dead000000000122 x1 : 0000000000000008 x0 : 0000000000000000 Call trace: __list_del_entry_valid+0x7c/0x15c lib/list_debug.c:59 __list_del_entry include/linux/list.h:141 [inline] list_del_rcu include/linux/rculist.h:157 [inline] hci_chan_del+0x70/0x1bc net/bluetooth/hci_conn.c:2785 l2cap_conn_free net/bluetooth/l2cap_core.c:1868 [inline] kref_put include/linux/kref.h:65 [inline] l2cap_conn_put+0x80/0x10c net/bluetooth/l2cap_core.c:1882 l2cap_chan_destroy net/bluetooth/l2cap_core.c:502 [inline] kref_put include/linux/kref.h:65 [inline] l2cap_chan_put+0x194/0x26c net/bluetooth/l2cap_core.c:529 l2cap_sock_release+0x160/0x1c8 net/bluetooth/l2cap_sock.c:1494 __sock_release net/socket.c:654 [inline] sock_close+0xac/0x1ec net/socket.c:1400 __fput+0x1b4/0x7b0 fs/file_table.c:320 ____fput+0x20/0x30 fs/file_table.c:348 task_work_run+0x1f4/0x280 kernel/task_work.c:203 resume_user_mode_work include/linux/resume_user_mode.h:49 [inline] do_notify_resume+0x20f8/0x2c84 arch/arm64/kernel/signal.c:1166 prepare_exit_to_user_mode arch/arm64/kernel/entry-common.c:137 [inline] exit_to_user_mode arch/arm64/kernel/entry-common.c:142 [inline] el0_svc+0x9c/0x12c arch/arm64/kernel/entry-common.c:638 el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655 el0t_64_sync+0x18c/0x190 arch/arm64/kernel/entry.S:589 Code: 91008902 eb0202bf 54000520 d343fea8 (38766908) ---[ end trace 0000000000000000 ]--- ---------------- Code disassembly (best guess): 0: 91008902 add x2, x8, #0x22 4: eb0202bf cmp x21, x2 8: 54000520 b.eq 0xac // b.none c: d343fea8 lsr x8, x21, #3 * 10: 38766908 ldrb w8, [x8, x22] <-- trapping instruction