================================================================== BUG: KASAN: use-after-free in skb_clear_hash include/linux/skbuff.h:1128 [inline] BUG: KASAN: use-after-free in ip_check_defrag net/ipv4/ip_fragment.c:747 [inline] BUG: KASAN: use-after-free in ip_check_defrag+0x4f5/0x523 net/ipv4/ip_fragment.c:712 Write of size 4 at addr ffff8881c40fcbdc by task syz-executor1/18643 CPU: 0 PID: 18643 Comm: syz-executor1 Not tainted 4.14.97+ #4 Call Trace: __dump_stack lib/dump_stack.c:17 [inline] dump_stack+0xb9/0x10e lib/dump_stack.c:53 print_address_description+0x60/0x226 mm/kasan/report.c:252 kasan_report_error mm/kasan/report.c:351 [inline] kasan_report mm/kasan/report.c:409 [inline] kasan_report.cold+0x88/0x2a5 mm/kasan/report.c:393 Allocated by task 18643: save_stack mm/kasan/kasan.c:447 [inline] set_track mm/kasan/kasan.c:459 [inline] kasan_kmalloc.part.0+0x4f/0xd0 mm/kasan/kasan.c:551 slab_post_alloc_hook mm/slab.h:442 [inline] slab_alloc_node mm/slub.c:2723 [inline] slab_alloc mm/slub.c:2731 [inline] kmem_cache_alloc+0xd2/0x2d0 mm/slub.c:2736 skb_clone+0x126/0x310 net/core/skbuff.c:1278 skb_share_check include/linux/skbuff.h:1538 [inline] ip_check_defrag net/ipv4/ip_fragment.c:734 [inline] ip_check_defrag+0x2bc/0x523 net/ipv4/ip_fragment.c:712 packet_rcv_fanout+0x4d1/0x5e0 net/packet/af_packet.c:1463 deliver_skb net/core/dev.c:1881 [inline] deliver_ptype_list_skb net/core/dev.c:1896 [inline] __netif_receive_skb_core+0xa21/0x2c60 net/core/dev.c:4460 __netif_receive_skb+0x55/0x1f0 net/core/dev.c:4515 netif_receive_skb_internal+0xec/0x5c0 net/core/dev.c:4588 tun_rx_batched.isra.0+0x45d/0x730 drivers/net/tun.c:1218 tun_get_user+0xd95/0x3790 drivers/net/tun.c:1570 tun_chr_write_iter+0xcf/0x180 drivers/net/tun.c:1596 call_write_iter include/linux/fs.h:1784 [inline] do_iter_readv_writev+0x379/0x580 fs/read_write.c:678 do_iter_write fs/read_write.c:957 [inline] do_iter_write+0x152/0x550 fs/read_write.c:938 vfs_writev+0x146/0x2d0 fs/read_write.c:1002 do_writev+0xc9/0x240 fs/read_write.c:1037 do_syscall_64+0x19b/0x4b0 arch/x86/entry/common.c:289 Freed by task 18643: save_stack mm/kasan/kasan.c:447 [inline] set_track mm/kasan/kasan.c:459 [inline] kasan_slab_free+0xb0/0x190 mm/kasan/kasan.c:524 slab_free_hook mm/slub.c:1389 [inline] slab_free_freelist_hook mm/slub.c:1410 [inline] slab_free mm/slub.c:2966 [inline] kmem_cache_free+0xc4/0x330 mm/slub.c:2988 kfree_skbmem net/core/skbuff.c:582 [inline] kfree_skbmem+0xa0/0x100 net/core/skbuff.c:576 __kfree_skb net/core/skbuff.c:642 [inline] kfree_skb+0xcd/0x350 net/core/skbuff.c:659 ip_frag_queue net/ipv4/ip_fragment.c:507 [inline] ip_defrag+0x5f4/0x3b50 net/ipv4/ip_fragment.c:699 ip_check_defrag net/ipv4/ip_fragment.c:745 [inline] ip_check_defrag+0x39b/0x523 net/ipv4/ip_fragment.c:712 packet_rcv_fanout+0x4d1/0x5e0 net/packet/af_packet.c:1463 deliver_skb net/core/dev.c:1881 [inline] deliver_ptype_list_skb net/core/dev.c:1896 [inline] __netif_receive_skb_core+0xa21/0x2c60 net/core/dev.c:4460 __netif_receive_skb+0x55/0x1f0 net/core/dev.c:4515 netif_receive_skb_internal+0xec/0x5c0 net/core/dev.c:4588 tun_rx_batched.isra.0+0x45d/0x730 drivers/net/tun.c:1218 tun_get_user+0xd95/0x3790 drivers/net/tun.c:1570 tun_chr_write_iter+0xcf/0x180 drivers/net/tun.c:1596 call_write_iter include/linux/fs.h:1784 [inline] do_iter_readv_writev+0x379/0x580 fs/read_write.c:678 do_iter_write fs/read_write.c:957 [inline] do_iter_write+0x152/0x550 fs/read_write.c:938 vfs_writev+0x146/0x2d0 fs/read_write.c:1002 do_writev+0xc9/0x240 fs/read_write.c:1037 do_syscall_64+0x19b/0x4b0 arch/x86/entry/common.c:289 The buggy address belongs to the object at ffff8881c40fcb40 which belongs to the cache skbuff_head_cache of size 224 The buggy address is located 156 bytes inside of 224-byte region [ffff8881c40fcb40, ffff8881c40fcc20) The buggy address belongs to the page: page:ffffea0007103f00 count:1 mapcount:0 mapping: (null) index:0x0 flags: 0x4000000000000100(slab) raw: 4000000000000100 0000000000000000 0000000000000000 00000001800c000c raw: dead000000000100 dead000000000200 ffff8881dab58200 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff8881c40fca80: fb fb fb fb fb fb fb fb fb fb fb fb fc fc fc fc ffff8881c40fcb00: fc fc fc fc fc fc fc fc fb fb fb fb fb fb fb fb >ffff8881c40fcb80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff8881c40fcc00: fb fb fb fb fc fc fc fc fc fc fc fc fc fc fc fc ffff8881c40fcc80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ==================================================================