================================================================== BUG: KASAN: invalid-free in skb_kfree_head net/core/skbuff.c:857 [inline] BUG: KASAN: invalid-free in skb_free_head+0xa0/0x190 net/core/skbuff.c:872 Free of addr ffff00012b60b000 by task syz-executor.1/13762 CPU: 0 PID: 13762 Comm: syz-executor.1 Not tainted 6.3.0-rc1-syzkaller-gfe15c26ee26e #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/02/2023 Call trace: dump_backtrace+0x1c8/0x1f4 arch/arm64/kernel/stacktrace.c:158 show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:165 __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0xd0/0x124 lib/dump_stack.c:106 print_address_description mm/kasan/report.c:319 [inline] print_report+0x174/0x514 mm/kasan/report.c:430 kasan_report_invalid_free+0xc4/0x114 mm/kasan/report.c:501 ____kasan_slab_free+0x1a8/0x1c0 mm/kasan/common.c:216 __kasan_slab_free+0x18/0x28 mm/kasan/common.c:244 kasan_slab_free include/linux/kasan.h:162 [inline] slab_free_hook mm/slub.c:1781 [inline] slab_free_freelist_hook mm/slub.c:1807 [inline] slab_free mm/slub.c:3787 [inline] kmem_cache_free+0x328/0x5f8 mm/slub.c:3809 skb_kfree_head net/core/skbuff.c:857 [inline] skb_free_head+0xa0/0x190 net/core/skbuff.c:872 skb_release_data+0x428/0x5ac net/core/skbuff.c:901 skb_release_all net/core/skbuff.c:966 [inline] __kfree_skb+0x58/0x78 net/core/skbuff.c:980 tcp_wmem_free_skb include/net/tcp.h:302 [inline] tcp_rtx_queue_unlink_and_free+0x2e8/0x4a8 include/net/tcp.h:1938 tcp_clean_rtx_queue net/ipv4/tcp_input.c:3334 [inline] tcp_ack+0x1be4/0x5688 net/ipv4/tcp_input.c:3884 tcp_rcv_established+0xb34/0x2350 net/ipv4/tcp_input.c:6006 tcp_v4_do_rcv+0x390/0xb08 net/ipv4/tcp_ipv4.c:1721 sk_backlog_rcv include/net/sock.h:1113 [inline] __release_sock+0x1a8/0x408 net/core/sock.c:2921 release_sock+0x68/0x1cc net/core/sock.c:3488 tcp_sendmsg+0x4c/0x64 net/ipv4/tcp.c:1485 inet_sendmsg+0x15c/0x290 net/ipv4/af_inet.c:825 sock_sendmsg_nosec net/socket.c:722 [inline] sock_sendmsg net/socket.c:745 [inline] sock_write_iter+0x2d8/0x448 net/socket.c:1136 call_write_iter include/linux/fs.h:1851 [inline] new_sync_write fs/read_write.c:491 [inline] vfs_write+0x610/0x914 fs/read_write.c:584 ksys_write+0x15c/0x26c fs/read_write.c:637 __do_sys_write fs/read_write.c:649 [inline] __se_sys_write fs/read_write.c:646 [inline] __arm64_sys_write+0x7c/0x90 fs/read_write.c:646 __invoke_syscall arch/arm64/kernel/syscall.c:38 [inline] invoke_syscall+0x98/0x2c0 arch/arm64/kernel/syscall.c:52 el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:142 do_el0_svc+0x64/0x198 arch/arm64/kernel/syscall.c:193 el0_svc+0x58/0x168 arch/arm64/kernel/entry-common.c:637 el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655 el0t_64_sync+0x190/0x194 arch/arm64/kernel/entry.S:591 Allocated by task 13762: kasan_save_stack mm/kasan/common.c:45 [inline] kasan_set_track+0x4c/0x7c mm/kasan/common.c:52 kasan_save_alloc_info+0x24/0x30 mm/kasan/generic.c:510 ____kasan_kmalloc mm/kasan/common.c:374 [inline] __kasan_kmalloc+0xac/0xc4 mm/kasan/common.c:383 kasan_kmalloc include/linux/kasan.h:196 [inline] __do_kmalloc_node mm/slab_common.c:967 [inline] __kmalloc_node_track_caller+0xd0/0x1c0 mm/slab_common.c:987 kmalloc_reserve+0x148/0x23c net/core/skbuff.c:539 pskb_expand_head+0x194/0x1060 net/core/skbuff.c:1995 __skb_unclone_keeptruesize+0x80/0x1e0 net/core/skbuff.c:2094 skb_unclone_keeptruesize include/linux/skbuff.h:1910 [inline] tcp_trim_head+0xec/0x588 net/ipv4/tcp_output.c:1667 tcp_tso_acked net/ipv4/tcp_input.c:3204 [inline] tcp_clean_rtx_queue net/ipv4/tcp_input.c:3270 [inline] tcp_ack+0x16c8/0x5688 net/ipv4/tcp_input.c:3884 tcp_rcv_established+0xb34/0x2350 net/ipv4/tcp_input.c:6006 tcp_v4_do_rcv+0x390/0xb08 net/ipv4/tcp_ipv4.c:1721 sk_backlog_rcv include/net/sock.h:1113 [inline] __release_sock+0x1a8/0x408 net/core/sock.c:2921 release_sock+0x68/0x1cc net/core/sock.c:3488 tcp_sendmsg+0x4c/0x64 net/ipv4/tcp.c:1485 inet_sendmsg+0x15c/0x290 net/ipv4/af_inet.c:825 sock_sendmsg_nosec net/socket.c:722 [inline] sock_sendmsg net/socket.c:745 [inline] sock_write_iter+0x2d8/0x448 net/socket.c:1136 call_write_iter include/linux/fs.h:1851 [inline] new_sync_write fs/read_write.c:491 [inline] vfs_write+0x610/0x914 fs/read_write.c:584 ksys_write+0x15c/0x26c fs/read_write.c:637 __do_sys_write fs/read_write.c:649 [inline] __se_sys_write fs/read_write.c:646 [inline] __arm64_sys_write+0x7c/0x90 fs/read_write.c:646 __invoke_syscall arch/arm64/kernel/syscall.c:38 [inline] invoke_syscall+0x98/0x2c0 arch/arm64/kernel/syscall.c:52 el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:142 do_el0_svc+0x64/0x198 arch/arm64/kernel/syscall.c:193 el0_svc+0x58/0x168 arch/arm64/kernel/entry-common.c:637 el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655 el0t_64_sync+0x190/0x194 arch/arm64/kernel/entry.S:591 Last potentially related work creation: kasan_save_stack+0x40/0x6c mm/kasan/common.c:45 __kasan_record_aux_stack+0xcc/0xe8 mm/kasan/generic.c:491 kasan_record_aux_stack_noalloc+0x14/0x20 mm/kasan/generic.c:501 kvfree_call_rcu+0xa8/0x688 kernel/rcu/tree.c:3316 neigh_destroy+0x474/0x6b4 net/core/neighbour.c:941 neigh_release include/net/neighbour.h:449 [inline] neigh_cleanup_and_release+0x240/0x5b4 net/core/neighbour.c:103 neigh_del net/core/neighbour.c:225 [inline] neigh_remove_one+0x320/0x428 net/core/neighbour.c:246 neigh_forced_gc net/core/neighbour.c:276 [inline] neigh_alloc net/core/neighbour.c:476 [inline] ___neigh_create+0x498/0x277c net/core/neighbour.c:671 __neigh_create+0x44/0x58 net/core/neighbour.c:760 ip6_finish_output2+0x18bc/0x1a84 net/ipv6/ip6_output.c:125 __ip6_finish_output net/ipv6/ip6_output.c:195 [inline] ip6_finish_output+0x538/0x8c8 net/ipv6/ip6_output.c:206 NF_HOOK_COND include/linux/netfilter.h:291 [inline] ip6_output+0x270/0x594 net/ipv6/ip6_output.c:227 dst_output include/net/dst.h:444 [inline] NF_HOOK include/linux/netfilter.h:302 [inline] ndisc_send_skb+0xc30/0x1790 net/ipv6/ndisc.c:508 ndisc_send_rs+0x47c/0x5d4 net/ipv6/ndisc.c:718 addrconf_dad_completed+0x5c0/0xb50 net/ipv6/addrconf.c:4253 addrconf_dad_work+0xb14/0x1390 process_one_work+0x868/0x16f4 kernel/workqueue.c:2390 worker_thread+0x8e0/0xfe8 kernel/workqueue.c:2537 kthread+0x24c/0x2d4 kernel/kthread.c:376 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:870 The buggy address belongs to the object at ffff00012b60b000 which belongs to the cache kmalloc-1k of size 1024 The buggy address is located 0 bytes inside of 1024-byte region [ffff00012b60b000, ffff00012b60b400) The buggy address belongs to the physical page: page:0000000083c2f7cd refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x16b608 head:0000000083c2f7cd order:3 entire_mapcount:0 nr_pages_mapped:0 pincount:0 flags: 0x5ffc00000010200(slab|head|node=0|zone=2|lastcpupid=0x7ff) raw: 05ffc00000010200 ffff0000c0002780 fffffc0004a97a00 dead000000000002 raw: 0000000000000000 0000000000100010 00000001ffffffff 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff00012b60af00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ffff00012b60af80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc >ffff00012b60b000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ^ ffff00012b60b080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ffff00012b60b100: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ==================================================================