================================================================== BUG: KASAN: use-after-free in hlist_add_head include/linux/list.h:673 [inline] BUG: KASAN: use-after-free in enqueue_timer kernel/time/timer.c:520 [inline] BUG: KASAN: use-after-free in __mod_timer kernel/time/timer.c:1021 [inline] BUG: KASAN: use-after-free in mod_timer_pending+0x11d5/0x14e0 kernel/time/timer.c:1045 Write of size 8 at addr ffff8801c7813ec0 by task syz-executor3/4144 CPU: 1 PID: 4144 Comm: syz-executor3 Not tainted 4.14.0-rc4+ #43 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:16 [inline] dump_stack+0x194/0x257 lib/dump_stack.c:52 print_address_description+0x73/0x250 mm/kasan/report.c:252 kasan_report_error mm/kasan/report.c:351 [inline] kasan_report+0x25b/0x340 mm/kasan/report.c:409 __asan_report_store8_noabort+0x17/0x20 mm/kasan/report.c:435 hlist_add_head include/linux/list.h:673 [inline] enqueue_timer kernel/time/timer.c:520 [inline] __mod_timer kernel/time/timer.c:1021 [inline] mod_timer_pending+0x11d5/0x14e0 kernel/time/timer.c:1045 tcp_check_req+0x11a5/0x1630 net/ipv4/tcp_minisocks.c:620 tcp_v4_rcv+0x17b0/0x2f20 net/ipv4/tcp_ipv4.c:1675 ip_local_deliver_finish+0x2e2/0xba0 net/ipv4/ip_input.c:216 NF_HOOK include/linux/netfilter.h:249 [inline] ip_local_deliver+0x1ce/0x6e0 net/ipv4/ip_input.c:257 dst_input include/net/dst.h:464 [inline] ip_rcv_finish+0x887/0x19a0 net/ipv4/ip_input.c:397 NF_HOOK include/linux/netfilter.h:249 [inline] ip_rcv+0xc3f/0x17d0 net/ipv4/ip_input.c:493 __netif_receive_skb_core+0x19af/0x33d0 net/core/dev.c:4428 __netif_receive_skb+0x2c/0x1b0 net/core/dev.c:4466 netif_receive_skb_internal+0x10b/0x670 net/core/dev.c:4539 netif_receive_skb+0xae/0x390 net/core/dev.c:4563 tun_rx_batched.isra.43+0x5e7/0x860 drivers/net/tun.c:1218 tun_get_user+0x11db/0x21d0 drivers/net/tun.c:1555 tun_chr_write_iter+0xd8/0x190 drivers/net/tun.c:1581 call_write_iter include/linux/fs.h:1770 [inline] new_sync_write fs/read_write.c:468 [inline] __vfs_write+0x684/0x970 fs/read_write.c:481 vfs_write+0x189/0x510 fs/read_write.c:543 SYSC_write fs/read_write.c:588 [inline] SyS_write+0xef/0x220 fs/read_write.c:580 do_syscall_32_irqs_on arch/x86/entry/common.c:329 [inline] do_fast_syscall_32+0x3f2/0xf05 arch/x86/entry/common.c:391 entry_SYSENTER_compat+0x51/0x60 arch/x86/entry/entry_64_compat.S:124 RIP: 0023:0xf7fa3c79 RSP: 002b:00000000f775d074 EFLAGS: 00000296 ORIG_RAX: 0000000000000004 RAX: ffffffffffffffda RBX: 0000000000000015 RCX: 000000002001a000 RDX: 000000000000004c RSI: 0000000000000539 RDI: 000000002001a000 RBP: 00000000081280e0 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000 R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000 Allocated by task 3673: save_stack_trace+0x16/0x20 arch/x86/kernel/stacktrace.c:59 save_stack+0x43/0xd0 mm/kasan/kasan.c:447 set_track mm/kasan/kasan.c:459 [inline] kasan_kmalloc+0xad/0xe0 mm/kasan/kasan.c:551 __do_kmalloc_node mm/slab.c:3689 [inline] __kmalloc_node+0x47/0x70 mm/slab.c:3696 kmalloc_node include/linux/slab.h:535 [inline] kvmalloc_node+0x64/0xd0 mm/util.c:397 kvmalloc include/linux/mm.h:529 [inline] kvzalloc include/linux/mm.h:537 [inline] alloc_netdev_mqs+0x16e/0xed0 net/core/dev.c:8023 tun_set_iff drivers/net/tun.c:2024 [inline] __tun_chr_ioctl+0x12b2/0x3d20 drivers/net/tun.c:2278 tun_chr_compat_ioctl+0x29/0x30 drivers/net/tun.c:2551 C_SYSC_ioctl fs/compat_ioctl.c:1593 [inline] compat_SyS_ioctl+0x1d7/0x3290 fs/compat_ioctl.c:1540 do_syscall_32_irqs_on arch/x86/entry/common.c:329 [inline] do_fast_syscall_32+0x3f2/0xf05 arch/x86/entry/common.c:391 entry_SYSENTER_compat+0x51/0x60 arch/x86/entry/entry_64_compat.S:124 Freed by task 3673: save_stack_trace+0x16/0x20 arch/x86/kernel/stacktrace.c:59 save_stack+0x43/0xd0 mm/kasan/kasan.c:447 set_track mm/kasan/kasan.c:459 [inline] kasan_slab_free+0x71/0xc0 mm/kasan/kasan.c:524 __cache_free mm/slab.c:3503 [inline] kfree+0xca/0x250 mm/slab.c:3820 kvfree+0x36/0x60 mm/util.c:416 netdev_freemem net/core/dev.c:7975 [inline] free_netdev+0x2cf/0x360 net/core/dev.c:8137 tun_set_iff drivers/net/tun.c:2107 [inline] __tun_chr_ioctl+0x2cea/0x3d20 drivers/net/tun.c:2278 tun_chr_compat_ioctl+0x29/0x30 drivers/net/tun.c:2551 C_SYSC_ioctl fs/compat_ioctl.c:1593 [inline] compat_SyS_ioctl+0x1d7/0x3290 fs/compat_ioctl.c:1540 do_syscall_32_irqs_on arch/x86/entry/common.c:329 [inline] do_fast_syscall_32+0x3f2/0xf05 arch/x86/entry/common.c:391 entry_SYSENTER_compat+0x51/0x60 arch/x86/entry/entry_64_compat.S:124 The buggy address belongs to the object at ffff8801c7810b80 which belongs to the cache kmalloc-16384 of size 16384 The buggy address is located 13120 bytes inside of 16384-byte region [ffff8801c7810b80, ffff8801c7814b80) The buggy address belongs to the page: page:ffffea00071e0400 count:1 mapcount:0 mapping:ffff8801c7810b80 index:0x0 compound_mapcount: 0 flags: 0x200000000008100(slab|head) raw: 0200000000008100 ffff8801c7810b80 0000000000000000 0000000100000001 raw: ffffea000724aa20 ffffea00072e8a20 ffff8801dac02200 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff8801c7813d80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff8801c7813e00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb >ffff8801c7813e80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff8801c7813f00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff8801c7813f80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ==================================================================