ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:844 kobject: kobject_add_internal failed for hci4:201 with -EEXIST, don't try to register things with the same name in the same directory. Bluetooth: hci4: failed to register connection device ================================================================== BUG: KASAN: slab-use-after-free in l2cap_sock_new_connection_cb+0x1d4/0x2a8 net/bluetooth/l2cap_sock.c:1500 Read of size 8 at addr ffff0000c60a25a8 by task kworker/u9:0/53 CPU: 1 UID: 0 PID: 53 Comm: kworker/u9:0 Not tainted syzkaller #0 PREEMPT Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/03/2025 Workqueue: hci4 hci_rx_work Call trace: show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:499 (C) __dump_stack+0x30/0x40 lib/dump_stack.c:94 dump_stack_lvl+0xd8/0x12c lib/dump_stack.c:120 print_address_description+0xa8/0x238 mm/kasan/report.c:378 print_report+0x68/0x84 mm/kasan/report.c:482 kasan_report+0xb0/0x110 mm/kasan/report.c:595 __asan_report_load8_noabort+0x20/0x2c mm/kasan/report_generic.c:381 l2cap_sock_new_connection_cb+0x1d4/0x2a8 net/bluetooth/l2cap_sock.c:1500 l2cap_connect_cfm+0x2d8/0xdb0 net/bluetooth/l2cap_core.c:7288 hci_connect_cfm+0x98/0x134 include/net/bluetooth/hci_core.h:2131 le_conn_complete_evt+0xc3c/0x1064 net/bluetooth/hci_event.c:5821 hci_le_conn_complete_evt+0x114/0x410 net/bluetooth/hci_event.c:5847 hci_le_meta_evt+0x2dc/0x500 net/bluetooth/hci_event.c:7408 hci_event_func net/bluetooth/hci_event.c:7716 [inline] hci_event_packet+0x6bc/0xf50 net/bluetooth/hci_event.c:7773 hci_rx_work+0x300/0xd80 net/bluetooth/hci_core.c:4076 process_one_work+0x7c0/0x1558 kernel/workqueue.c:3257 process_scheduled_works kernel/workqueue.c:3340 [inline] worker_thread+0x958/0xed8 kernel/workqueue.c:3421 kthread+0x5fc/0x75c kernel/kthread.c:463 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:844 Allocated by task 53: kasan_save_stack mm/kasan/common.c:57 [inline] kasan_save_track+0x40/0x78 mm/kasan/common.c:78 kasan_save_alloc_info+0x44/0x54 mm/kasan/generic.c:570 poison_kmalloc_redzone mm/kasan/common.c:398 [inline] __kasan_kmalloc+0x9c/0xb4 mm/kasan/common.c:415 kasan_kmalloc include/linux/kasan.h:263 [inline] __do_kmalloc_node mm/slub.c:5657 [inline] __kmalloc_noprof+0x410/0x764 mm/slub.c:5669 kmalloc_noprof include/linux/slab.h:961 [inline] sk_prot_alloc+0xc4/0x1f0 net/core/sock.c:2245 sk_alloc+0x44/0x3a0 net/core/sock.c:2301 bt_sock_alloc+0x4c/0x300 net/bluetooth/af_bluetooth.c:151 l2cap_sock_alloc net/bluetooth/l2cap_sock.c:1897 [inline] l2cap_sock_new_connection_cb+0xe4/0x2a8 net/bluetooth/l2cap_sock.c:1485 l2cap_connect_cfm+0x2d8/0xdb0 net/bluetooth/l2cap_core.c:7288 hci_connect_cfm+0x98/0x134 include/net/bluetooth/hci_core.h:2131 le_conn_complete_evt+0xc3c/0x1064 net/bluetooth/hci_event.c:5821 hci_le_conn_complete_evt+0x114/0x410 net/bluetooth/hci_event.c:5847 hci_le_meta_evt+0x2dc/0x500 net/bluetooth/hci_event.c:7408 hci_event_func net/bluetooth/hci_event.c:7716 [inline] hci_event_packet+0x6bc/0xf50 net/bluetooth/hci_event.c:7773 hci_rx_work+0x300/0xd80 net/bluetooth/hci_core.c:4076 process_one_work+0x7c0/0x1558 kernel/workqueue.c:3257 process_scheduled_works kernel/workqueue.c:3340 [inline] worker_thread+0x958/0xed8 kernel/workqueue.c:3421 kthread+0x5fc/0x75c kernel/kthread.c:463 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:844 Freed by task 6784: kasan_save_stack mm/kasan/common.c:57 [inline] kasan_save_track+0x40/0x78 mm/kasan/common.c:78 kasan_save_free_info+0x58/0x70 mm/kasan/generic.c:584 poison_slab_object mm/kasan/common.c:253 [inline] __kasan_slab_free+0x74/0xa4 mm/kasan/common.c:285 kasan_slab_free include/linux/kasan.h:235 [inline] slab_free_hook mm/slub.c:2540 [inline] slab_free mm/slub.c:6670 [inline] kfree+0x1c4/0x5fc mm/slub.c:6878 sk_prot_free net/core/sock.c:2284 [inline] __sk_destruct+0x5fc/0x924 net/core/sock.c:2384 sk_destruct net/core/sock.c:2412 [inline] __sk_free+0x320/0x430 net/core/sock.c:2423 sk_free+0x60/0xc8 net/core/sock.c:2434 sock_put include/net/sock.h:1998 [inline] l2cap_sock_kill+0x12c/0x25c net/bluetooth/l2cap_sock.c:1265 l2cap_sock_cleanup_listen+0xf4/0x2d8 net/bluetooth/l2cap_sock.c:1465 l2cap_sock_release+0x68/0x1fc net/bluetooth/l2cap_sock.c:1426 __sock_release net/socket.c:662 [inline] sock_close+0xa0/0x1e4 net/socket.c:1455 __fput+0x340/0x75c fs/file_table.c:468 ____fput+0x20/0x58 fs/file_table.c:496 task_work_run+0x1dc/0x260 kernel/task_work.c:233 resume_user_mode_work include/linux/resume_user_mode.h:50 [inline] __exit_to_user_mode_loop kernel/entry/common.c:44 [inline] exit_to_user_mode_loop+0x10c/0x18c kernel/entry/common.c:75 __exit_to_user_mode_prepare include/linux/irq-entry-common.h:226 [inline] exit_to_user_mode_prepare_legacy include/linux/irq-entry-common.h:242 [inline] arm64_exit_to_user_mode arch/arm64/kernel/entry-common.c:81 [inline] el0_svc+0x17c/0x26c arch/arm64/kernel/entry-common.c:725 el0t_64_sync_handler+0x84/0x12c arch/arm64/kernel/entry-common.c:743 el0t_64_sync+0x198/0x19c arch/arm64/kernel/entry.S:596 The buggy address belongs to the object at ffff0000c60a2000 which belongs to the cache kmalloc-2k of size 2048 The buggy address is located 1448 bytes inside of freed 2048-byte region [ffff0000c60a2000, ffff0000c60a2800) The buggy address belongs to the physical page: page: refcount:0 mapcount:0 mapping:0000000000000000 index:0xffff0000c60a6000 pfn:0x1060a0 head: order:3 mapcount:0 entire_mapcount:0 nr_pages_mapped:0 pincount:0 flags: 0x5ffc00000000040(head|node=0|zone=2|lastcpupid=0x7ff) page_type: f5(slab) raw: 05ffc00000000040 ffff0000c0002000 fffffdffc3145600 0000000000000002 raw: ffff0000c60a6000 0000000080080007 00000000f5000000 0000000000000000 head: 05ffc00000000040 ffff0000c0002000 fffffdffc3145600 0000000000000002 head: ffff0000c60a6000 0000000080080007 00000000f5000000 0000000000000000 head: 05ffc00000000003 fffffdffc3182801 00000000ffffffff 00000000ffffffff head: ffffffffffffffff 0000000000000000 00000000ffffffff 0000000000000008 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff0000c60a2480: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff0000c60a2500: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb >ffff0000c60a2580: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff0000c60a2600: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff0000c60a2680: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ================================================================== ------------[ cut here ]------------ ODEBUG: assert_init not available (active state 0) object: 0000000044cb3053 object type: timer_list hint: l2cap_chan_timeout+0x0/0x2a8 net/bluetooth/l2cap_core.c:-1 WARNING: lib/debugobjects.c:615 at debug_print_object+0x168/0x1e0 lib/debugobjects.c:612, CPU#1: kworker/u9:0/53 Modules linked in: CPU: 1 UID: 0 PID: 53 Comm: kworker/u9:0 Tainted: G B syzkaller #0 PREEMPT Tainted: [B]=BAD_PAGE Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/03/2025 Workqueue: hci4 hci_rx_work pstate: 634000c5 (nZCv daIF +PAN -UAO +TCO +DIT -SSBS BTYPE=--) pc : debug_print_object+0x168/0x1e0 lib/debugobjects.c:612 lr : debug_print_object+0x168/0x1e0 lib/debugobjects.c:612 sp : ffff8000994671b0 x29: ffff8000994671b0 x28: dfff800000000000 x27: 0000000000000001 x26: ffff80008f871000 x25: dfff800000000000 x24: ffff0000c60a0150 x23: ffff80008b5aa820 x22: ffff80008a207484 x21: ffff80008b079660 x20: 0000000000000000 x19: ffff80008b5aa300 x18: 1fffe00033781890 x17: 3d3d3d3d3d3d3d3d x16: ffff800082e5e68c x15: 0000000000000001 x14: 1fffe000337818fa x13: 0000000000000000 x12: 0000000000000000 x11: 0000000000100000 x10: 00000000000223b1 x9 : a245ce56728afa00 x8 : a245ce56728afa00 x7 : 0000000000000001 x6 : ffff8000805761f8 x5 : 0000000000000000 x4 : 0000000000000000 x3 : ffff8000807f1034 x2 : 0000000000000001 x1 : 0000000100000000 x0 : 0000000000000000 Call trace: debug_print_object+0x168/0x1e0 lib/debugobjects.c:612 (P) debug_object_assert_init+0x250/0x2c8 lib/debugobjects.c:1020 debug_timer_assert_init kernel/time/timer.c:803 [inline] debug_assert_init kernel/time/timer.c:848 [inline] __timer_delete+0x48/0x354 kernel/time/timer.c:1366 timer_delete+0x24/0x34 kernel/time/timer.c:1406 try_to_grab_pending kernel/workqueue.c:2061 [inline] work_grab_pending+0xc0/0x830 kernel/workqueue.c:2154 __cancel_work+0x50/0x218 kernel/workqueue.c:4368 cancel_delayed_work+0x24/0x38 kernel/workqueue.c:4456 l2cap_clear_timer include/net/bluetooth/l2cap.h:856 [inline] l2cap_chan_ready net/bluetooth/l2cap_core.c:1252 [inline] l2cap_le_start+0x7ac/0x10c0 net/bluetooth/l2cap_core.c:1376 l2cap_conn_ready net/bluetooth/l2cap_core.c:1629 [inline] l2cap_connect_cfm+0x558/0xdb0 net/bluetooth/l2cap_core.c:7305 hci_connect_cfm+0x98/0x134 include/net/bluetooth/hci_core.h:2131 le_conn_complete_evt+0xc3c/0x1064 net/bluetooth/hci_event.c:5821 hci_le_conn_complete_evt+0x114/0x410 net/bluetooth/hci_event.c:5847 hci_le_meta_evt+0x2dc/0x500 net/bluetooth/hci_event.c:7408 hci_event_func net/bluetooth/hci_event.c:7716 [inline] hci_event_packet+0x6bc/0xf50 net/bluetooth/hci_event.c:7773 hci_rx_work+0x300/0xd80 net/bluetooth/hci_core.c:4076 process_one_work+0x7c0/0x1558 kernel/workqueue.c:3257 process_scheduled_works kernel/workqueue.c:3340 [inline] worker_thread+0x958/0xed8 kernel/workqueue.c:3421 kthread+0x5fc/0x75c kernel/kthread.c:463 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:844 irq event stamp: 5833 hardirqs last enabled at (5833): [] __raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:151 [inline] hardirqs last enabled at (5833): [] _raw_spin_unlock_irqrestore+0x38/0x98 kernel/locking/spinlock.c:194 hardirqs last disabled at (5832): [] __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:108 [inline] hardirqs last disabled at (5832): [] _raw_spin_lock_irqsave+0x2c/0x7c kernel/locking/spinlock.c:162 softirqs last enabled at (5828): [] softirq_handle_end kernel/softirq.c:468 [inline] softirqs last enabled at (5828): [] handle_softirqs+0xaf8/0xc88 kernel/softirq.c:650 softirqs last disabled at (4253): [] __do_softirq+0x14/0x20 kernel/softirq.c:656 ---[ end trace 0000000000000000 ]--- Unable to handle kernel NULL pointer dereference at virtual address 0000000000000590 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, ISS2 = 0x00000000 CM = 0, WnR = 0, TnD = 0, TagAccess = 0 GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 user pgtable: 4k pages, 48-bit VAs, pgdp=000000010e649000 [0000000000000590] pgd=0000000000000000, p4d=0000000000000000 Internal error: Oops: 0000000096000004 [#1] SMP Modules linked in: CPU: 1 UID: 0 PID: 53 Comm: kworker/u9:0 Tainted: G B W syzkaller #0 PREEMPT Tainted: [B]=BAD_PAGE, [W]=WARN Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/03/2025 Workqueue: hci4 hci_rx_work pstate: 83400005 (Nzcv daif +PAN -UAO +TCO +DIT -SSBS BTYPE=--) pc : __lse_atomic64_or arch/arm64/include/asm/atomic_lse.h:132 [inline] pc : arch_atomic64_or arch/arm64/include/asm/atomic.h:65 [inline] pc : raw_atomic64_or include/linux/atomic/atomic-arch-fallback.h:3798 [inline] pc : raw_atomic_long_or include/linux/atomic/atomic-long.h:1069 [inline] pc : arch_set_bit include/asm-generic/bitops/atomic.h:18 [inline] pc : set_bit include/asm-generic/bitops/instrumented-atomic.h:29 [inline] pc : l2cap_sock_suspend_cb+0x5c/0xb4 net/bluetooth/l2cap_sock.c:1748 lr : __lse_atomic64_or arch/arm64/include/asm/atomic_lse.h:132 [inline] lr : arch_atomic64_or arch/arm64/include/asm/atomic.h:65 [inline] lr : raw_atomic64_or include/linux/atomic/atomic-arch-fallback.h:3798 [inline] lr : raw_atomic_long_or include/linux/atomic/atomic-long.h:1069 [inline] lr : arch_set_bit include/asm-generic/bitops/atomic.h:18 [inline] lr : set_bit include/asm-generic/bitops/instrumented-atomic.h:29 [inline] lr : l2cap_sock_suspend_cb+0x58/0xb4 net/bluetooth/l2cap_sock.c:1748 sp : ffff800099467410 x29: ffff800099467410 x28: ffff800099467480 x27: 1fffe00018c14004 x26: 1fffe00018c14002 x25: 1fffe00018c14000 x24: ffff70001328ce90 x23: 0000000000000002 x22: dfff800000000000 x21: dfff800000000000 x20: 0000000000000590 x19: 0000000000000000 x18: 1fffe00033781890 x17: 3d3d3d3d3d3d3d3d x16: ffff800082e5e68c x15: ffff600018c14021 x14: 1fffe00018c14021 x13: 00000000000000fb x12: ffffffffffffffff x11: 0000000000100000 x10: 000000000005060f x9 : ffff8000aaff3000 x8 : 0000000000000002 x7 : 0000000000000001 x6 : 0000000000000000 x5 : 0000000000000000 x4 : 0000000000000000 x3 : ffff80008a23d7e0 x2 : 0000000000000001 x1 : 0000000000000008 x0 : 0000000000000001 Call trace: __lse_atomic64_or arch/arm64/include/asm/atomic_lse.h:-1 [inline] (P) arch_atomic64_or arch/arm64/include/asm/atomic.h:65 [inline] (P) raw_atomic64_or include/linux/atomic/atomic-arch-fallback.h:3798 [inline] (P) raw_atomic_long_or include/linux/atomic/atomic-long.h:1069 [inline] (P) arch_set_bit include/asm-generic/bitops/atomic.h:18 [inline] (P) set_bit include/asm-generic/bitops/instrumented-atomic.h:29 [inline] (P) l2cap_sock_suspend_cb+0x5c/0xb4 net/bluetooth/l2cap_sock.c:1748 (P) l2cap_chan_ready net/bluetooth/l2cap_core.c:1258 [inline] l2cap_le_start+0x900/0x10c0 net/bluetooth/l2cap_core.c:1376 l2cap_conn_ready net/bluetooth/l2cap_core.c:1629 [inline] l2cap_connect_cfm+0x558/0xdb0 net/bluetooth/l2cap_core.c:7305 hci_connect_cfm+0x98/0x134 include/net/bluetooth/hci_core.h:2131 le_conn_complete_evt+0xc3c/0x1064 net/bluetooth/hci_event.c:5821 hci_le_conn_complete_evt+0x114/0x410 net/bluetooth/hci_event.c:5847 hci_le_meta_evt+0x2dc/0x500 net/bluetooth/hci_event.c:7408 hci_event_func net/bluetooth/hci_event.c:7716 [inline] hci_event_packet+0x6bc/0xf50 net/bluetooth/hci_event.c:7773 hci_rx_work+0x300/0xd80 net/bluetooth/hci_core.c:4076 process_one_work+0x7c0/0x1558 kernel/workqueue.c:3257 process_scheduled_works kernel/workqueue.c:3340 [inline] worker_thread+0x958/0xed8 kernel/workqueue.c:3421 kthread+0x5fc/0x75c kernel/kthread.c:463 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:844 Code: 977e03f8 d503201f 977e0316 52800048 (f828329f) ---[ end trace 0000000000000000 ]--- ---------------- Code disassembly (best guess): 0: 977e03f8 bl 0xfffffffffdf80fe0 4: d503201f nop 8: 977e0316 bl 0xfffffffffdf80c60 c: 52800048 mov w8, #0x2 // #2 * 10: f828329f stset x8, [x20] <-- trapping instruction