================================================================== 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+0x316/0x5f0 net/ipv4/tcp_input.c:5520 Read of size 4 at addr ffff888126122430 by task syz.6.43/2614 CPU: 0 UID: 0 PID: 2614 Comm: syz.6.43 Not tainted 6.16.0-rc5-syzkaller #0 PREEMPT(none) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025 Call Trace: dump_stack_lvl+0xf4/0x170 lib/dump_stack.c:120 print_address_description mm/kasan/report.c:408 [inline] print_report+0xd2/0x2b0 mm/kasan/report.c:521 kasan_report+0x118/0x150 mm/kasan/report.c:634 tcp_can_ingest net/ipv4/tcp_input.c:4896 [inline] tcp_prune_ofo_queue+0x316/0x5f0 net/ipv4/tcp_input.c:5520 tcp_prune_queue net/ipv4/tcp_input.c:5575 [inline] tcp_try_rmem_schedule+0xaf1/0x1640 net/ipv4/tcp_input.c:4907 tcp_data_queue+0x38e/0x6420 net/ipv4/tcp_input.c:5192 tcp_rcv_established+0xf15/0x2060 net/ipv4/tcp_input.c:6208 tcp_v4_do_rcv+0x239/0xab0 net/ipv4/tcp_ipv4.c:1925 __release_sock+0x96/0x180 net/core/sock.c:3188 release_sock+0x54/0x160 net/core/sock.c:3742 tcp_sendmsg+0x31/0x40 net/ipv4/tcp.c:1394 sock_sendmsg_nosec net/socket.c:714 [inline] __sock_sendmsg+0x163/0x220 net/socket.c:729 __sys_sendto+0x31a/0x430 net/socket.c:2228 __do_sys_sendto net/socket.c:2235 [inline] __se_sys_sendto net/socket.c:2231 [inline] __x64_sys_sendto+0xd9/0xf0 net/socket.c:2231 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0x8f/0x250 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7fe3ec14e929 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:00007fe3ebbbf038 EFLAGS: 00000246 ORIG_RAX: 000000000000002c RAX: ffffffffffffffda RBX: 00007fe3ec375fa0 RCX: 00007fe3ec14e929 RDX: 000000000000059a RSI: 0000200000000580 RDI: 0000000000000003 RBP: 00007fe3ec1d0b39 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000010008095 R11: 0000000000000246 R12: 0000000000000000 R13: 0000000000000000 R14: 00007fe3ec375fa0 R15: 00007ffd4c938d38 Allocated by task 2614: 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:4148 [inline] slab_alloc_node mm/slub.c:4197 [inline] kmem_cache_alloc_node_noprof+0x1a9/0x400 mm/slub.c:4249 __alloc_skb+0xc4/0x250 net/core/skbuff.c:659 alloc_skb_fclone include/linux/skbuff.h:1386 [inline] tcp_stream_alloc_skb+0x34/0x2f0 net/ipv4/tcp.c:892 tso_fragment net/ipv4/tcp_output.c:2174 [inline] tcp_write_xmit+0x1683/0x6840 net/ipv4/tcp_output.c:2819 __tcp_push_pending_frames+0x79/0x2f0 net/ipv4/tcp_output.c:3016 tcp_sendmsg_locked+0x3a37/0x4230 net/ipv4/tcp.c:1356 tcp_sendmsg+0x27/0x40 net/ipv4/tcp.c:1393 sock_sendmsg_nosec net/socket.c:714 [inline] __sock_sendmsg+0x163/0x220 net/socket.c:729 __sys_sendto+0x31a/0x430 net/socket.c:2228 __do_sys_sendto net/socket.c:2235 [inline] __se_sys_sendto net/socket.c:2231 [inline] __x64_sys_sendto+0xd9/0xf0 net/socket.c:2231 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0x8f/0x250 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f Freed by task 2614: 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:2381 [inline] slab_free mm/slub.c:4643 [inline] kmem_cache_free+0x175/0x460 mm/slub.c:4745 tcp_prune_ofo_queue+0x182/0x5f0 net/ipv4/tcp_input.c:5517 tcp_prune_queue net/ipv4/tcp_input.c:5575 [inline] tcp_try_rmem_schedule+0xaf1/0x1640 net/ipv4/tcp_input.c:4907 tcp_data_queue+0x38e/0x6420 net/ipv4/tcp_input.c:5192 tcp_rcv_established+0xf15/0x2060 net/ipv4/tcp_input.c:6208 tcp_v4_do_rcv+0x239/0xab0 net/ipv4/tcp_ipv4.c:1925 __release_sock+0x96/0x180 net/core/sock.c:3188 release_sock+0x54/0x160 net/core/sock.c:3742 tcp_sendmsg+0x31/0x40 net/ipv4/tcp.c:1394 sock_sendmsg_nosec net/socket.c:714 [inline] __sock_sendmsg+0x163/0x220 net/socket.c:729 __sys_sendto+0x31a/0x430 net/socket.c:2228 __do_sys_sendto net/socket.c:2235 [inline] __se_sys_sendto net/socket.c:2231 [inline] __x64_sys_sendto+0xd9/0xf0 net/socket.c:2231 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0x8f/0x250 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f The buggy address belongs to the object at ffff888126122280 which belongs to the cache skbuff_fclone_cache of size 456 The buggy address is located 432 bytes inside of freed 456-byte region [ffff888126122280, ffff888126122448) The buggy address belongs to the physical page: page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x126122 head: order:1 mapcount:0 entire_mapcount:0 nr_pages_mapped:0 pincount:0 flags: 0x200000000000040(head|node=0|zone=2) page_type: f5(slab) raw: 0200000000000040 ffff8881026c9b40 dead000000000122 0000000000000000 raw: 0000000000000000 00000000800c000c 00000000f5000000 0000000000000000 head: 0200000000000040 ffff8881026c9b40 dead000000000122 0000000000000000 head: 0000000000000000 00000000800c000c 00000000f5000000 0000000000000000 head: 0200000000000001 ffffea0004984881 00000000ffffffff 00000000ffffffff head: 0000000000000000 0000000000000000 00000000ffffffff 0000000000000002 page dumped because: kasan: bad access detected page_owner tracks the page as allocated page last allocated via order 1, migratetype Unmovable, gfp_mask 0x52820(GFP_ATOMIC|__GFP_NOWARN|__GFP_NORETRY|__GFP_COMP), pid 2614, tgid 2611 (syz.6.43), ts 90875663640, free_ts 90851698454 set_page_owner include/linux/page_owner.h:32 [inline] post_alloc_hook+0x168/0x1a0 mm/page_alloc.c:1704 prep_new_page mm/page_alloc.c:1712 [inline] get_page_from_freelist+0x2cc3/0x2e80 mm/page_alloc.c:3669 __alloc_frozen_pages_noprof+0x26b/0x460 mm/page_alloc.c:4959 alloc_pages_mpol+0xcb/0x270 mm/mempolicy.c:2419 alloc_slab_page mm/slub.c:2451 [inline] allocate_slab+0x8a/0x350 mm/slub.c:2619 new_slab mm/slub.c:2673 [inline] ___slab_alloc+0x9dc/0x10e0 mm/slub.c:3859 __slab_alloc mm/slub.c:3949 [inline] __slab_alloc_node mm/slub.c:4024 [inline] slab_alloc_node mm/slub.c:4185 [inline] kmem_cache_alloc_node_noprof+0x26b/0x400 mm/slub.c:4249 __alloc_skb+0xc4/0x250 net/core/skbuff.c:659 alloc_skb_fclone include/linux/skbuff.h:1386 [inline] tcp_stream_alloc_skb+0x34/0x2f0 net/ipv4/tcp.c:892 tso_fragment net/ipv4/tcp_output.c:2174 [inline] tcp_write_xmit+0x1683/0x6840 net/ipv4/tcp_output.c:2819 __tcp_push_pending_frames+0x79/0x2f0 net/ipv4/tcp_output.c:3016 tcp_sendmsg_locked+0x3a37/0x4230 net/ipv4/tcp.c:1356 tcp_sendmsg+0x27/0x40 net/ipv4/tcp.c:1393 sock_sendmsg_nosec net/socket.c:714 [inline] __sock_sendmsg+0x163/0x220 net/socket.c:729 __sys_sendto+0x31a/0x430 net/socket.c:2228 __do_sys_sendto net/socket.c:2235 [inline] __se_sys_sendto net/socket.c:2231 [inline] __x64_sys_sendto+0xd9/0xf0 net/socket.c:2231 page last free pid 2462 tgid 2462 stack trace: reset_page_owner include/linux/page_owner.h:25 [inline] free_pages_prepare mm/page_alloc.c:1248 [inline] __free_frozen_pages+0xa2e/0xc00 mm/page_alloc.c:2706 __slab_free+0x2d6/0x3a0 mm/slub.c:4554 qlink_free mm/kasan/quarantine.c:163 [inline] qlist_free_all+0x97/0x140 mm/kasan/quarantine.c:179 kasan_quarantine_reduce+0x148/0x160 mm/kasan/quarantine.c:286 __kasan_slab_alloc+0x22/0x80 mm/kasan/common.c:329 kasan_slab_alloc include/linux/kasan.h:250 [inline] slab_post_alloc_hook mm/slub.c:4148 [inline] slab_alloc_node mm/slub.c:4197 [inline] __do_kmalloc_node mm/slub.c:4327 [inline] __kmalloc_noprof+0x20d/0x500 mm/slub.c:4340 kmalloc_noprof include/linux/slab.h:909 [inline] tomoyo_realpath_from_path+0xf5/0x550 security/tomoyo/realpath.c:251 tomoyo_get_realpath security/tomoyo/file.c:151 [inline] tomoyo_path_perm+0x1d3/0x460 security/tomoyo/file.c:822 security_file_truncate+0x40/0xb0 security/security.c:3146 handle_truncate fs/namei.c:3515 [inline] do_open fs/namei.c:3900 [inline] path_openat+0x2582/0x2bb0 fs/namei.c:4055 do_filp_open+0x1e4/0x3c0 fs/namei.c:4082 do_sys_openat2+0xfa/0x180 fs/open.c:1437 do_sys_open fs/open.c:1452 [inline] __do_sys_openat fs/open.c:1468 [inline] __se_sys_openat fs/open.c:1463 [inline] __x64_sys_openat+0xf3/0x120 fs/open.c:1463 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0x8f/0x250 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f Memory state around the buggy address: ffff888126122300: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff888126122380: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb >ffff888126122400: fb fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc ^ ffff888126122480: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ffff888126122500: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ==================================================================