================================================================== BUG: KASAN: slab-use-after-free in llc_conn_ac_send_sabme_cmd_p_set_x+0x442/0x470 net/llc/llc_c_ac.c:782 Read of size 1 at addr ffff888029d8c010 by task syz.3.138/6476 CPU: 1 UID: 0 PID: 6476 Comm: syz.3.138 Tainted: G L syzkaller #0 PREEMPT(full) Tainted: [L]=SOFTLOCKUP Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/16/2026 Call Trace: __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x100/0x190 lib/dump_stack.c:120 print_address_description mm/kasan/report.c:378 [inline] print_report+0x13d/0x4b0 mm/kasan/report.c:482 kasan_report+0xdf/0x1c0 mm/kasan/report.c:595 llc_conn_ac_send_sabme_cmd_p_set_x+0x442/0x470 net/llc/llc_c_ac.c:782 llc_exec_conn_trans_actions net/llc/llc_conn.c:437 [inline] llc_conn_service net/llc/llc_conn.c:362 [inline] llc_conn_state_process+0x3ec/0x1480 net/llc/llc_conn.c:66 llc_process_tmr_ev net/llc/llc_c_ac.c:1442 [inline] llc_conn_tmr_common_cb+0x2d4/0x880 net/llc/llc_c_ac.c:1325 call_timer_fn+0x19a/0x610 kernel/time/timer.c:1748 expire_timers kernel/time/timer.c:1799 [inline] __run_timers+0x757/0xb00 kernel/time/timer.c:2374 __run_timer_base kernel/time/timer.c:2386 [inline] __run_timer_base kernel/time/timer.c:2378 [inline] run_timer_base+0x114/0x190 kernel/time/timer.c:2395 run_timer_softirq+0x1a/0x50 kernel/time/timer.c:2405 handle_softirqs+0x1ea/0x9b0 kernel/softirq.c:622 __do_softirq kernel/softirq.c:656 [inline] invoke_softirq kernel/softirq.c:496 [inline] __irq_exit_rcu+0x162/0x210 kernel/softirq.c:735 irq_exit_rcu+0x9/0x30 kernel/softirq.c:752 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1062 [inline] sysvec_apic_timer_interrupt+0xa3/0xc0 arch/x86/kernel/apic/apic.c:1062 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:674 RIP: 0010:is_huge_zero_pfn include/linux/huge_mm.h:546 [inline] RIP: 0010:__vm_normal_page mm/memory.c:751 [inline] RIP: 0010:vm_normal_page+0x169/0x390 mm/memory.c:770 Code: 01 00 00 4c 8b 35 ff 67 e9 0b 48 89 ef 4c 89 f6 e8 7c 9a ac ff 4c 39 f5 0f 84 b3 00 00 00 e8 8e a0 ac ff 48 c7 c0 40 a3 22 91 <48> ba 00 00 00 00 00 fc ff df 48 c1 e8 03 80 3c 10 00 0f 85 ce 01 RSP: 0018:ffffc900036a74c0 EFLAGS: 00000293 RAX: ffffffff9122a340 RBX: 0008000000064cc1 RCX: ffffffff825d9ae4 RDX: ffff88802f648000 RSI: ffffffff825d9af2 RDI: ffff88802f648000 RBP: 0000000000064cc1 R08: 0000000000000006 R09: 0000000000064cc1 R10: 000000000000bdf6 R11: 0000000000000000 R12: 1ffff920006d4e99 R13: 0000000001933040 R14: 000000000000bdf6 R15: 0008000000064cc1 zap_present_ptes mm/memory.c:1700 [inline] do_zap_pte_range mm/memory.c:1832 [inline] zap_pte_range mm/memory.c:1934 [inline] zap_pmd_range mm/memory.c:2020 [inline] zap_pud_range mm/memory.c:2048 [inline] zap_p4d_range mm/memory.c:2069 [inline] __zap_vma_range+0xf67/0x4a30 mm/memory.c:2109 unmap_vmas+0x299/0x5f0 mm/memory.c:2178 exit_mmap+0x1ef/0xa00 mm/mmap.c:1300 __mmput+0x12a/0x410 kernel/fork.c:1187 mmput+0x67/0x80 kernel/fork.c:1210 exit_mm kernel/exit.c:615 [inline] do_exit+0x8b1/0x2ae0 kernel/exit.c:997 do_group_exit+0xd5/0x2a0 kernel/exit.c:1152 get_signal+0x1ec7/0x21e0 kernel/signal.c:3046 arch_do_signal_or_restart+0x91/0x7e0 arch/x86/kernel/signal.c:337 __exit_to_user_mode_loop kernel/entry/common.c:66 [inline] exit_to_user_mode_loop+0x139/0x6f0 kernel/entry/common.c:101 __exit_to_user_mode_prepare include/linux/irq-entry-common.h:207 [inline] syscall_exit_to_user_mode_prepare include/linux/irq-entry-common.h:230 [inline] syscall_exit_to_user_mode include/linux/entry-common.h:318 [inline] do_syscall_64+0x666/0x870 arch/x86/entry/syscall_64.c:100 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f125479de99 Code: Unable to access opcode bytes at 0x7f125479de6f. RSP: 002b:00007f12555cb0e8 EFLAGS: 00000246 ORIG_RAX: 00000000000000ca RAX: fffffffffffffe00 RBX: 00007f1254a26098 RCX: 00007f125479de99 RDX: 0000000000000000 RSI: 0000000000000080 RDI: 00007f1254a26098 RBP: 00007f1254a26090 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 00007f1254a26128 R14: 00007ffc5dfb7a60 R15: 00007ffc5dfb7b48 Allocated by task 6475: kasan_save_stack+0x30/0x50 mm/kasan/common.c:57 kasan_save_track+0x14/0x30 mm/kasan/common.c:78 poison_kmalloc_redzone mm/kasan/common.c:398 [inline] __kasan_kmalloc+0xaa/0xb0 mm/kasan/common.c:415 kasan_kmalloc include/linux/kasan.h:263 [inline] __kmalloc_cache_noprof+0x2e5/0x6c0 mm/slub.c:5489 _kmalloc_noprof include/linux/slab.h:988 [inline] _kzalloc_noprof include/linux/slab.h:1309 [inline] llc_sap_alloc net/llc/llc_core.c:29 [inline] llc_sap_open+0x120/0x3b0 net/llc/llc_core.c:96 llc_ui_autobind.isra.0+0x2ae/0x580 net/llc/af_llc.c:301 llc_ui_connect+0x582/0xdb0 net/llc/af_llc.c:498 __sys_connect_file+0x141/0x1a0 net/socket.c:2135 __sys_connect+0x141/0x170 net/socket.c:2154 __do_sys_connect net/socket.c:2160 [inline] __se_sys_connect net/socket.c:2157 [inline] __x64_sys_connect+0x72/0xb0 net/socket.c:2157 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0x115/0x870 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f Freed by task 36: kasan_save_stack+0x30/0x50 mm/kasan/common.c:57 kasan_save_track+0x14/0x30 mm/kasan/common.c:78 kasan_save_free_info+0x3b/0x70 mm/kasan/generic.c:584 poison_slab_object mm/kasan/common.c:253 [inline] __kasan_slab_free+0x5f/0x80 mm/kasan/common.c:285 kasan_slab_free include/linux/kasan.h:235 [inline] slab_free_hook mm/slub.c:2677 [inline] __rcu_free_sheaf_prepare+0x5d/0x2f0 mm/slub.c:2928 rcu_free_sheaf+0x1a/0xe0 mm/slub.c:5978 rcu_do_batch kernel/rcu/tree.c:2645 [inline] rcu_core+0x5a2/0x10d0 kernel/rcu/tree.c:2897 handle_softirqs+0x1ea/0x9b0 kernel/softirq.c:622 __do_softirq kernel/softirq.c:656 [inline] invoke_softirq kernel/softirq.c:496 [inline] __irq_exit_rcu+0x162/0x210 kernel/softirq.c:735 irq_exit_rcu+0x9/0x30 kernel/softirq.c:752 instr_sysvec_irq_work arch/x86/kernel/irq_work.c:17 [inline] sysvec_irq_work+0xa3/0xc0 arch/x86/kernel/irq_work.c:17 asm_sysvec_irq_work+0x1a/0x20 arch/x86/include/asm/idtentry.h:710 The buggy address belongs to the object at ffff888029d8c000 which belongs to the cache kmalloc-2k of size 2048 The buggy address is located 16 bytes inside of freed 2048-byte region [ffff888029d8c000, ffff888029d8c800) The buggy address belongs to the physical page: page: refcount:0 mapcount:0 mapping:0000000000000000 index:0xffff888029d8f000 pfn:0x29d88 head: order:3 mapcount:0 entire_mapcount:0 nr_pages_mapped:0 pincount:0 flags: 0xfff00000000240(workingset|head|node=0|zone=1|lastcpupid=0x7ff) page_type: f5(slab) raw: 00fff00000000240 ffff88813fe22000 ffffea0000a82810 ffffea00008ea410 raw: ffff888029d8f000 0000000800080007 00000000f5000000 0000000000000000 head: 00fff00000000240 ffff88813fe22000 ffffea0000a82810 ffffea00008ea410 head: ffff888029d8f000 0000000800080007 00000000f5000000 0000000000000000 head: 00fff00000000003 fffffffffffffe01 00000000ffffffff 00000000ffffffff head: ffffffffffffffff 0000000000000000 00000000ffffffff 0000000000000008 page dumped because: kasan: bad access detected page_owner tracks the page as allocated page last allocated via order 3, migratetype Unmovable, gfp_mask 0xd20c0(__GFP_IO|__GFP_FS|__GFP_NOWARN|__GFP_NORETRY|__GFP_COMP|__GFP_NOMEMALLOC), pid 153, tgid 153 (kworker/u8:7), ts 7705182921, free_ts 7688591301 set_page_owner include/linux/page_owner.h:32 [inline] post_alloc_hook+0xfd/0x120 mm/page_alloc.c:1859 prep_new_page mm/page_alloc.c:1867 [inline] get_page_from_freelist+0xf48/0x3530 mm/page_alloc.c:3946 __alloc_frozen_pages_noprof+0x299/0x2dc0 mm/page_alloc.c:5304 alloc_slab_page mm/slub.c:3266 [inline] allocate_slab mm/slub.c:3380 [inline] new_slab+0xa2/0x640 mm/slub.c:3426 refill_objects+0xe3/0x410 mm/slub.c:7310 refill_sheaf mm/slub.c:2804 [inline] __pcs_replace_empty_main+0x376/0x680 mm/slub.c:4675 alloc_from_pcs mm/slub.c:4773 [inline] slab_alloc_node mm/slub.c:4905 [inline] __do_kmalloc_node mm/slub.c:5333 [inline] __kmalloc_noprof+0x66d/0x820 mm/slub.c:5359 _kmalloc_noprof include/linux/slab.h:992 [inline] _kzalloc_noprof include/linux/slab.h:1309 [inline] scsi_alloc_target+0x12f/0xc70 drivers/scsi/scsi_scan.c:505 __scsi_scan_target+0x124/0x570 drivers/scsi/scsi_scan.c:1780 scsi_scan_channel drivers/scsi/scsi_scan.c:1885 [inline] scsi_scan_channel+0x13d/0x1e0 drivers/scsi/scsi_scan.c:1861 scsi_scan_host_selected+0x2fe/0x3e0 drivers/scsi/scsi_scan.c:1914 do_scsi_scan_host+0x1f4/0x270 drivers/scsi/scsi_scan.c:2047 do_scan_async+0x42/0x480 drivers/scsi/scsi_scan.c:2057 async_run_entry_fn+0x9f/0x580 kernel/async.c:129 process_one_work+0xa23/0x1940 kernel/workqueue.c:3322 process_scheduled_works kernel/workqueue.c:3405 [inline] worker_thread+0x5ef/0xe50 kernel/workqueue.c:3486 page last free pid 24 tgid 24 stack trace: reset_page_owner include/linux/page_owner.h:25 [inline] __free_pages_prepare mm/page_alloc.c:1406 [inline] free_pages_prepare+0x586/0xd80 mm/page_alloc.c:1451 __free_contig_range_common+0x14f/0x250 mm/page_alloc.c:6897 __free_contig_range mm/page_alloc.c:6942 [inline] free_pages_bulk+0x12a/0x200 mm/page_alloc.c:5257 vm_area_free_pages+0xad/0x2b0 mm/vmalloc.c:3439 vfree mm/vmalloc.c:3488 [inline] vfree+0x107/0x750 mm/vmalloc.c:3462 delayed_vfree_work+0x56/0x80 mm/vmalloc.c:3392 process_one_work+0xa23/0x1940 kernel/workqueue.c:3322 process_scheduled_works kernel/workqueue.c:3405 [inline] worker_thread+0x5ef/0xe50 kernel/workqueue.c:3486 kthread+0x370/0x450 kernel/kthread.c:436 ret_from_fork+0x72b/0xd50 arch/x86/kernel/process.c:158 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 Memory state around the buggy address: ffff888029d8bf00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ffff888029d8bf80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc >ffff888029d8c000: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff888029d8c080: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff888029d8c100: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ================================================================== ---------------- Code disassembly (best guess): 0: 01 00 add %eax,(%rax) 2: 00 4c 8b 35 add %cl,0x35(%rbx,%rcx,4) 6: ff 67 e9 jmp *-0x17(%rdi) 9: 0b 48 89 or -0x77(%rax),%ecx c: ef out %eax,(%dx) d: 4c 89 f6 mov %r14,%rsi 10: e8 7c 9a ac ff call 0xffac9a91 15: 4c 39 f5 cmp %r14,%rbp 18: 0f 84 b3 00 00 00 je 0xd1 1e: e8 8e a0 ac ff call 0xffaca0b1 23: 48 c7 c0 40 a3 22 91 mov $0xffffffff9122a340,%rax * 2a: 48 ba 00 00 00 00 00 movabs $0xdffffc0000000000,%rdx <-- trapping instruction 31: fc ff df 34: 48 c1 e8 03 shr $0x3,%rax 38: 80 3c 10 00 cmpb $0x0,(%rax,%rdx,1) 3c: 0f .byte 0xf 3d: 85 ce test %ecx,%esi 3f: 01 .byte 0x1