================================================================== 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 ffff0000d346b800 by task syz-executor.3/16668 CPU: 1 PID: 16668 Comm: syz-executor.3 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_shifted_skb+0x64c/0xac0 net/ipv4/tcp_input.c:1505 tcp_shift_skb_data net/ipv4/tcp_input.c:1648 [inline] tcp_sacktag_walk+0xf4c/0x1c6c net/ipv4/tcp_input.c:1713 tcp_sacktag_write_queue+0x1b4c/0x32f4 net/ipv4/tcp_input.c:1974 tcp_ack+0x1188/0x5688 net/ipv4/tcp_input.c:3847 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] ____sys_sendmsg+0x568/0x81c net/socket.c:2504 ___sys_sendmsg net/socket.c:2558 [inline] __sys_sendmmsg+0x318/0x7d8 net/socket.c:2644 __do_sys_sendmmsg net/socket.c:2673 [inline] __se_sys_sendmmsg net/socket.c:2670 [inline] __arm64_sys_sendmmsg+0xa0/0xbc net/socket.c:2670 __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 16668: 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 net/core/skbuff.c:2094 [inline] skb_unclone_keeptruesize include/linux/skbuff.h:1910 [inline] skb_prepare_for_shift net/core/skbuff.c:3804 [inline] skb_shift+0x5cc/0x1710 net/core/skbuff.c:3877 tcp_skb_shift net/ipv4/tcp_input.c:1538 [inline] tcp_shift_skb_data net/ipv4/tcp_input.c:1646 [inline] tcp_sacktag_walk+0xf14/0x1c6c net/ipv4/tcp_input.c:1713 tcp_sacktag_write_queue+0x1b4c/0x32f4 net/ipv4/tcp_input.c:1974 tcp_ack+0x1188/0x5688 net/ipv4/tcp_input.c:3847 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] ____sys_sendmsg+0x568/0x81c net/socket.c:2504 ___sys_sendmsg net/socket.c:2558 [inline] __sys_sendmmsg+0x318/0x7d8 net/socket.c:2644 __do_sys_sendmmsg net/socket.c:2673 [inline] __se_sys_sendmmsg net/socket.c:2670 [inline] __arm64_sys_sendmmsg+0xa0/0xbc net/socket.c:2670 __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 batadv_hardif_release net/batman-adv/hard-interface.c:55 [inline] kref_put include/linux/kref.h:65 [inline] batadv_hardif_put+0xfc/0x180 net/batman-adv/hard-interface.h:95 batadv_hard_if_event+0x660/0xdd4 net/batman-adv/hard-interface.c:1002 notifier_call_chain kernel/notifier.c:87 [inline] raw_notifier_call_chain+0xd4/0x164 kernel/notifier.c:455 call_netdevice_notifiers_info net/core/dev.c:1937 [inline] call_netdevice_notifiers_extack net/core/dev.c:1975 [inline] call_netdevice_notifiers net/core/dev.c:1989 [inline] unregister_netdevice_many_notify+0xd74/0x186c net/core/dev.c:10843 unregister_netdevice_many net/core/dev.c:10899 [inline] default_device_exit_batch+0x6c8/0x744 net/core/dev.c:11352 ops_exit_list net/core/net_namespace.c:174 [inline] cleanup_net+0x5dc/0x8d0 net/core/net_namespace.c:613 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 ffff0000d346b800 which belongs to the cache kmalloc-1k of size 1024 The buggy address is located 0 bytes inside of 1024-byte region [ffff0000d346b800, ffff0000d346bc00) The buggy address belongs to the physical page: page:000000009bf71d9e refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x113468 head:000000009bf71d9e order:3 entire_mapcount:0 nr_pages_mapped:0 pincount:0 flags: 0x5ffc00000010200(slab|head|node=0|zone=2|lastcpupid=0x7ff) raw: 05ffc00000010200 ffff0000c0002780 fffffc00035a0c00 dead000000000002 raw: 0000000000000000 0000000080100010 00000001ffffffff 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff0000d346b700: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ffff0000d346b780: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc >ffff0000d346b800: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ^ ffff0000d346b880: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ffff0000d346b900: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ==================================================================