================================================================== BUG: KASAN: double-free in slab_free mm/slub.c:3539 [inline] BUG: KASAN: double-free in kfree+0xe2/0x580 mm/slub.c:4567 CPU: 0 PID: 6897 Comm: kworker/0:11 Not tainted 6.0.0-syzkaller-09413-g4899a36f91a9 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/22/2022 Workqueue: events mptcp_worker Call Trace: __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0xcd/0x134 lib/dump_stack.c:106 print_address_description mm/kasan/report.c:317 [inline] print_report.cold+0x2ba/0x719 mm/kasan/report.c:433 kasan_report_invalid_free+0x81/0x190 mm/kasan/report.c:462 ____kasan_slab_free+0x18b/0x1c0 mm/kasan/common.c:356 kasan_slab_free include/linux/kasan.h:200 [inline] slab_free_hook mm/slub.c:1759 [inline] slab_free_freelist_hook+0x8b/0x1c0 mm/slub.c:1785 slab_free mm/slub.c:3539 [inline] kfree+0xe2/0x580 mm/slub.c:4567 tcp_disconnect+0x980/0x1e20 net/ipv4/tcp.c:3145 __mptcp_close_ssk+0x5ca/0x7e0 net/mptcp/protocol.c:2327 mptcp_do_fastclose net/mptcp/protocol.c:2592 [inline] mptcp_worker+0x78c/0xff0 net/mptcp/protocol.c:2627 process_one_work+0x991/0x1610 kernel/workqueue.c:2289 worker_thread+0x665/0x1080 kernel/workqueue.c:2436 kthread+0x2e4/0x3a0 kernel/kthread.c:376 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:306 Allocated by task 16392: kasan_save_stack+0x1e/0x40 mm/kasan/common.c:38 kasan_set_track mm/kasan/common.c:45 [inline] set_alloc_info mm/kasan/common.c:437 [inline] ____kasan_kmalloc mm/kasan/common.c:516 [inline] ____kasan_kmalloc mm/kasan/common.c:475 [inline] __kasan_kmalloc+0xa9/0xd0 mm/kasan/common.c:525 kmalloc_array include/linux/slab.h:640 [inline] kcalloc include/linux/slab.h:671 [inline] tcp_cdg_init+0x10d/0x170 net/ipv4/tcp_cdg.c:380 tcp_init_congestion_control+0xab/0x550 net/ipv4/tcp_cong.c:193 tcp_init_transfer+0xccf/0xf00 net/ipv4/tcp_input.c:6045 tcp_finish_connect+0x1cc/0x610 net/ipv4/tcp_input.c:6063 tcp_rcv_synsent_state_process net/ipv4/tcp_input.c:6285 [inline] tcp_rcv_state_process+0xcb9/0x4990 net/ipv4/tcp_input.c:6488 tcp_v6_do_rcv+0x3fc/0x13c0 net/ipv6/tcp_ipv6.c:1525 sk_backlog_rcv include/net/sock.h:1109 [inline] __release_sock+0x12f/0x3a0 net/core/sock.c:2906 release_sock+0x54/0x1b0 net/core/sock.c:3462 inet_wait_for_connect net/ipv4/af_inet.c:593 [inline] __inet_stream_connect+0x753/0xec0 net/ipv4/af_inet.c:685 inet_stream_connect+0x53/0xa0 net/ipv4/af_inet.c:724 mptcp_stream_connect+0x1d3/0xb60 net/mptcp/protocol.c:3622 __sys_connect_file+0x14f/0x190 net/socket.c:1976 __sys_connect+0x161/0x190 net/socket.c:1993 __do_sys_connect net/socket.c:2003 [inline] __se_sys_connect net/socket.c:2000 [inline] __ia32_sys_connect+0x6e/0xb0 net/socket.c:2000 do_syscall_32_irqs_on arch/x86/entry/common.c:112 [inline] __do_fast_syscall_32+0x65/0xf0 arch/x86/entry/common.c:178 do_fast_syscall_32+0x2f/0x70 arch/x86/entry/common.c:203 entry_SYSENTER_compat_after_hwframe+0x70/0x82 The buggy address belongs to the object at ffff888078d94c00 which belongs to the cache kmalloc-64 of size 64 The buggy address is located 0 bytes inside of 64-byte region [ffff888078d94c00, ffff888078d94c40) The buggy address belongs to the physical page: page:ffffea0001e36500 refcount:1 mapcount:0 mapping:0000000000000000 index:0xffff888078d94a80 pfn:0x78d94 flags: 0xfff00000000200(slab|node=0|zone=1|lastcpupid=0x7ff) raw: 00fff00000000200 ffffea0001cad908 ffffea0001f53c08 ffff888011841640 raw: ffff888078d94a80 0000000000200006 00000001ffffffff 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 0x112a20(GFP_ATOMIC|__GFP_NOWARN|__GFP_NORETRY|__GFP_HARDWALL), pid 27, tgid 27 (kworker/1:1), ts 175528061699, free_ts 175525865995 prep_new_page mm/page_alloc.c:2532 [inline] get_page_from_freelist+0x109b/0x2ce0 mm/page_alloc.c:4283 __alloc_pages+0x1c7/0x510 mm/page_alloc.c:5549 alloc_pages+0x1a6/0x270 mm/mempolicy.c:2270 alloc_slab_page mm/slub.c:1829 [inline] allocate_slab+0x27e/0x3d0 mm/slub.c:1974 new_slab mm/slub.c:2034 [inline] ___slab_alloc+0x84f/0xe80 mm/slub.c:3036 __slab_alloc.constprop.0+0x4d/0xa0 mm/slub.c:3123 slab_alloc_node mm/slub.c:3214 [inline] slab_alloc mm/slub.c:3256 [inline] __kmalloc_track_caller+0x325/0x340 mm/slub.c:4931 kmemdup+0x23/0x50 mm/util.c:129 kmemdup include/linux/fortify-string.h:565 [inline] sctp_addr_wq_mgmt+0x412/0x7c0 net/sctp/protocol.c:751 sctp_inet6addr_event+0x6e5/0x910 net/sctp/ipv6.c:94 notifier_call_chain+0xb5/0x200 kernel/notifier.c:87 atomic_notifier_call_chain+0x70/0x180 kernel/notifier.c:225 ipv6_add_addr+0x1262/0x1de0 net/ipv6/addrconf.c:1165 addrconf_add_linklocal+0x1c8/0x590 net/ipv6/addrconf.c:3215 addrconf_addr_gen+0x37e/0x3d0 net/ipv6/addrconf.c:3346 addrconf_dev_config+0x255/0x410 net/ipv6/addrconf.c:3391 page last free stack trace: reset_page_owner include/linux/page_owner.h:24 [inline] free_pages_prepare mm/page_alloc.c:1449 [inline] free_pcp_prepare+0x5e4/0xd20 mm/page_alloc.c:1499 free_unref_page_prepare mm/page_alloc.c:3380 [inline] free_unref_page+0x19/0x4d0 mm/page_alloc.c:3476 qlink_free mm/kasan/quarantine.c:168 [inline] qlist_free_all+0x6a/0x170 mm/kasan/quarantine.c:187 kasan_quarantine_reduce+0x180/0x200 mm/kasan/quarantine.c:294 __kasan_slab_alloc+0xa2/0xc0 mm/kasan/common.c:447 kasan_slab_alloc include/linux/kasan.h:224 [inline] slab_post_alloc_hook mm/slab.h:727 [inline] slab_alloc_node mm/slub.c:3248 [inline] __kmalloc_node+0x2a9/0x380 mm/slub.c:4473 kmalloc_node include/linux/slab.h:623 [inline] __vmalloc_area_node mm/vmalloc.c:3012 [inline] __vmalloc_node_range+0xa36/0x13a0 mm/vmalloc.c:3196 alloc_thread_stack_node kernel/fork.c:312 [inline] dup_task_struct kernel/fork.c:977 [inline] copy_process+0x156c/0x7090 kernel/fork.c:2085 kernel_clone+0xe7/0xab0 kernel/fork.c:2671 __do_compat_sys_ia32_clone+0x9e/0xd0 arch/x86/kernel/sys_ia32.c:254 do_syscall_32_irqs_on arch/x86/entry/common.c:112 [inline] do_int80_syscall_32+0x46/0x90 arch/x86/entry/common.c:132 entry_INT80_compat+0x8b/0x90 arch/x86/entry/entry_64_compat.S:354 Memory state around the buggy address: ffff888078d94b00: fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc ffff888078d94b80: fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc >ffff888078d94c00: fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc ^ ffff888078d94c80: fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc ffff888078d94d00: fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc ==================================================================