================================================================== BUG: KASAN: slab-use-after-free in tcp_can_ingest net/ipv4/tcp_input.c:4896 [inline] BUG: KASAN: slab-use-after-free in tcp_prune_ofo_queue+0x37e/0x6e0 net/ipv4/tcp_input.c:5520 Read of size 4 at addr ffff888052f16ae0 by task syz.1.118/6474 CPU: 1 UID: 0 PID: 6474 Comm: syz.1.118 Not tainted 6.16.0-rc6-next-20250716-syzkaller #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025 Call Trace: dump_stack_lvl+0x189/0x250 lib/dump_stack.c:120 print_address_description mm/kasan/report.c:378 [inline] print_report+0xca/0x230 mm/kasan/report.c:480 kasan_report+0x118/0x150 mm/kasan/report.c:593 tcp_can_ingest net/ipv4/tcp_input.c:4896 [inline] tcp_prune_ofo_queue+0x37e/0x6e0 net/ipv4/tcp_input.c:5520 tcp_prune_queue net/ipv4/tcp_input.c:5575 [inline] tcp_try_rmem_schedule+0xb6b/0x1830 net/ipv4/tcp_input.c:4907 tcp_data_queue+0x4e3/0x6380 net/ipv4/tcp_input.c:5192 tcp_rcv_established+0xf9e/0x1eb0 net/ipv4/tcp_input.c:6208 tcp_v4_do_rcv+0xa23/0xce0 net/ipv4/tcp_ipv4.c:1925 sk_backlog_rcv include/net/sock.h:1148 [inline] __release_sock+0x21c/0x350 net/core/sock.c:3188 __sk_flush_backlog+0x36/0xc0 net/core/sock.c:3208 sk_flush_backlog include/net/sock.h:1211 [inline] tcp_sendmsg_locked+0x4227/0x56d0 net/ipv4/tcp.c:1194 tcp_sendmsg+0x2f/0x50 net/ipv4/tcp.c:1393 sock_sendmsg_nosec net/socket.c:714 [inline] __sock_sendmsg+0x19c/0x270 net/socket.c:729 __sys_sendto+0x3bd/0x520 net/socket.c:2228 __do_sys_sendto net/socket.c:2235 [inline] __se_sys_sendto net/socket.c:2231 [inline] __x64_sys_sendto+0xde/0x100 net/socket.c:2231 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xfa/0x3b0 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7fc3ced8e929 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 a8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007fc3cfcb1038 EFLAGS: 00000246 ORIG_RAX: 000000000000002c RAX: ffffffffffffffda RBX: 00007fc3cefb5fa0 RCX: 00007fc3ced8e929 RDX: ffffffffffffff94 RSI: 0000200000000000 RDI: 0000000000000005 RBP: 00007fc3cee10b39 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 0000000000000000 R14: 00007fc3cefb5fa0 R15: 00007ffdff956238 Allocated by task 6474: kasan_save_stack mm/kasan/common.c:47 [inline] kasan_save_track+0x3e/0x80 mm/kasan/common.c:68 unpoison_slab_object mm/kasan/common.c:319 [inline] __kasan_slab_alloc+0x6c/0x80 mm/kasan/common.c:345 kasan_slab_alloc include/linux/kasan.h:250 [inline] slab_post_alloc_hook mm/slub.c:4180 [inline] slab_alloc_node mm/slub.c:4229 [inline] kmem_cache_alloc_node_noprof+0x1bb/0x3c0 mm/slub.c:4281 __alloc_skb+0x112/0x2d0 net/core/skbuff.c:659 skb_segment+0xf23/0x3f60 net/core/skbuff.c:4860 tcp_gso_segment+0x3fd/0x1a10 net/ipv4/tcp_offload.c:180 inet_gso_segment+0x634/0x1520 net/ipv4/af_inet.c:1407 skb_mac_gso_segment+0x31c/0x640 net/core/gso.c:53 __skb_gso_segment+0x342/0x510 net/core/gso.c:124 skb_gso_segment include/net/gso.h:83 [inline] validate_xmit_skb+0x857/0x11b0 net/core/dev.c:3947 validate_xmit_skb_list+0x84/0x120 net/core/dev.c:3997 sch_direct_xmit+0xd3/0x4b0 net/sched/sch_generic.c:329 qdisc_restart net/sched/sch_generic.c:409 [inline] __qdisc_run+0xb16/0x15f0 net/sched/sch_generic.c:417 __dev_xmit_skb net/core/dev.c:4171 [inline] __dev_queue_xmit+0x1056/0x3b50 net/core/dev.c:4679 dev_queue_xmit include/linux/netdevice.h:3357 [inline] neigh_hh_output include/net/neighbour.h:526 [inline] neigh_output include/net/neighbour.h:540 [inline] ip_finish_output2+0xd03/0x1160 net/ipv4/ip_output.c:235 ip_local_out net/ipv4/ip_output.c:129 [inline] __ip_queue_xmit+0x1106/0x1b00 net/ipv4/ip_output.c:527 __tcp_transmit_skb+0x225c/0x36c0 net/ipv4/tcp_output.c:1479 tcp_transmit_skb net/ipv4/tcp_output.c:1497 [inline] tcp_write_xmit+0x1862/0x67f0 net/ipv4/tcp_output.c:2833 __tcp_push_pending_frames+0x97/0x360 net/ipv4/tcp_output.c:3016 tcp_push_pending_frames include/net/tcp.h:2173 [inline] tcp_data_snd_check net/ipv4/tcp_input.c:5662 [inline] tcp_rcv_established+0x1012/0x1eb0 net/ipv4/tcp_input.c:6210 tcp_v4_do_rcv+0xa23/0xce0 net/ipv4/tcp_ipv4.c:1925 sk_backlog_rcv include/net/sock.h:1148 [inline] __release_sock+0x21c/0x350 net/core/sock.c:3188 __sk_flush_backlog+0x36/0xc0 net/core/sock.c:3208 sk_flush_backlog include/net/sock.h:1211 [inline] tcp_sendmsg_locked+0x4227/0x56d0 net/ipv4/tcp.c:1194 tcp_sendmsg+0x2f/0x50 net/ipv4/tcp.c:1393 sock_sendmsg_nosec net/socket.c:714 [inline] __sock_sendmsg+0x19c/0x270 net/socket.c:729 __sys_sendto+0x3bd/0x520 net/socket.c:2228 __do_sys_sendto net/socket.c:2235 [inline] __se_sys_sendto net/socket.c:2231 [inline] __x64_sys_sendto+0xde/0x100 net/socket.c:2231 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xfa/0x3b0 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f Freed by task 6474: kasan_save_stack mm/kasan/common.c:47 [inline] kasan_save_track+0x3e/0x80 mm/kasan/common.c:68 kasan_save_free_info+0x46/0x50 mm/kasan/generic.c:576 poison_slab_object mm/kasan/common.c:247 [inline] __kasan_slab_free+0x62/0x70 mm/kasan/common.c:264 kasan_slab_free include/linux/kasan.h:233 [inline] slab_free_hook mm/slub.c:2417 [inline] slab_free mm/slub.c:4680 [inline] kmem_cache_free+0x18f/0x400 mm/slub.c:4782 tcp_prune_ofo_queue+0x198/0x6e0 net/ipv4/tcp_input.c:5517 tcp_prune_queue net/ipv4/tcp_input.c:5575 [inline] tcp_try_rmem_schedule+0xb6b/0x1830 net/ipv4/tcp_input.c:4907 tcp_data_queue+0x4e3/0x6380 net/ipv4/tcp_input.c:5192 tcp_rcv_established+0xf9e/0x1eb0 net/ipv4/tcp_input.c:6208 tcp_v4_do_rcv+0xa23/0xce0 net/ipv4/tcp_ipv4.c:1925 sk_backlog_rcv include/net/sock.h:1148 [inline] __release_sock+0x21c/0x350 net/core/sock.c:3188 __sk_flush_backlog+0x36/0xc0 net/core/sock.c:3208 sk_flush_backlog include/net/sock.h:1211 [inline] tcp_sendmsg_locked+0x4227/0x56d0 net/ipv4/tcp.c:1194 tcp_sendmsg+0x2f/0x50 net/ipv4/tcp.c:1393 sock_sendmsg_nosec net/socket.c:714 [inline] __sock_sendmsg+0x19c/0x270 net/socket.c:729 __sys_sendto+0x3bd/0x520 net/socket.c:2228 __do_sys_sendto net/socket.c:2235 [inline] __se_sys_sendto net/socket.c:2231 [inline] __x64_sys_sendto+0xde/0x100 net/socket.c:2231 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xfa/0x3b0 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f The buggy address belongs to the object at ffff888052f16a00 which belongs to the cache skbuff_head_cache of size 240 The buggy address is located 224 bytes inside of freed 240-byte region [ffff888052f16a00, ffff888052f16af0) The buggy address belongs to the physical page: page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x52f16 flags: 0xfff00000000000(node=0|zone=1|lastcpupid=0x7ff) page_type: f5(slab) raw: 00fff00000000000 ffff8881416a68c0 dead000000000122 0000000000000000 raw: 0000000000000000 00000000000c000c 00000000f5000000 0000000000000000 page dumped because: kasan: bad access detected page_owner tracks the page as allocated page last allocated via order 0, migratetype Unmovable, gfp_mask 0x52820(GFP_ATOMIC|__GFP_NOWARN|__GFP_NORETRY|__GFP_COMP), pid 6474, tgid 6473 (syz.1.118), ts 138842456933, free_ts 137513586408 set_page_owner include/linux/page_owner.h:32 [inline] post_alloc_hook+0x240/0x2a0 mm/page_alloc.c:1851 prep_new_page mm/page_alloc.c:1859 [inline] get_page_from_freelist+0x21e4/0x22c0 mm/page_alloc.c:3858 __alloc_frozen_pages_noprof+0x181/0x370 mm/page_alloc.c:5148 alloc_pages_mpol+0x232/0x4a0 mm/mempolicy.c:2416 alloc_slab_page mm/slub.c:2487 [inline] allocate_slab+0x8a/0x370 mm/slub.c:2655 new_slab mm/slub.c:2709 [inline] ___slab_alloc+0xbeb/0x1410 mm/slub.c:3891 __slab_alloc mm/slub.c:3981 [inline] __slab_alloc_node mm/slub.c:4056 [inline] slab_alloc_node mm/slub.c:4217 [inline] kmem_cache_alloc_node_noprof+0x280/0x3c0 mm/slub.c:4281 __alloc_skb+0x112/0x2d0 net/core/skbuff.c:659 skb_segment+0xf23/0x3f60 net/core/skbuff.c:4860 tcp_gso_segment+0x3fd/0x1a10 net/ipv4/tcp_offload.c:180 inet_gso_segment+0x634/0x1520 net/ipv4/af_inet.c:1407 skb_mac_gso_segment+0x31c/0x640 net/core/gso.c:53 __skb_gso_segment+0x342/0x510 net/core/gso.c:124 skb_gso_segment include/net/gso.h:83 [inline] validate_xmit_skb+0x857/0x11b0 net/core/dev.c:3947 validate_xmit_skb_list+0x84/0x120 net/core/dev.c:3997 sch_direct_xmit+0xd3/0x4b0 net/sched/sch_generic.c:329 page last free pid 5962 tgid 5962 stack trace: reset_page_owner include/linux/page_owner.h:25 [inline] free_pages_prepare mm/page_alloc.c:1395 [inline] __free_frozen_pages+0xbc4/0xd30 mm/page_alloc.c:2895 pagetable_free include/linux/mm.h:2896 [inline] pagetable_dtor_free include/linux/mm.h:2994 [inline] __tlb_remove_table+0x2d2/0x3b0 include/asm-generic/tlb.h:220 __tlb_remove_table_free mm/mmu_gather.c:227 [inline] tlb_remove_table_rcu+0x85/0x100 mm/mmu_gather.c:290 rcu_do_batch kernel/rcu/tree.c:2584 [inline] rcu_core+0xca5/0x1710 kernel/rcu/tree.c:2840 handle_softirqs+0x286/0x870 kernel/softirq.c:579 do_softirq+0xec/0x180 kernel/softirq.c:480 __local_bh_enable_ip+0x17d/0x1c0 kernel/softirq.c:407 spin_unlock_bh include/linux/spinlock.h:396 [inline] nsim_fib_event_work+0x253/0x3180 drivers/net/netdevsim/fib.c:1488 process_one_work kernel/workqueue.c:3239 [inline] process_scheduled_works+0xae1/0x17b0 kernel/workqueue.c:3322 worker_thread+0x8a0/0xda0 kernel/workqueue.c:3403 kthread+0x70e/0x8a0 kernel/kthread.c:463 ret_from_fork+0x3f9/0x770 arch/x86/kernel/process.c:148 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 Memory state around the buggy address: ffff888052f16980: fb fb fb fb fb fb fc fc fc fc fc fc fc fc fc fc ffff888052f16a00: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb >ffff888052f16a80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fc fc ^ ffff888052f16b00: fc fc fc fc fc fc fc fc fa fb fb fb fb fb fb fb ffff888052f16b80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ==================================================================