Debian GNU/Linux 7 syzkaller ttyS0 executing program syzkaller login: [ 16.865140] ================================================================== [ 16.865709] BUG: KASAN: use-after-free in free_netdev+0x31a/0x360 [ 16.866155] Read of size 8 at addr ffff88006d36eba0 by task syzkaller968337/2975 [ 16.866696] [ 16.866824] CPU: 2 PID: 2975 Comm: syzkaller968337 Not tainted 4.14.0-rc5-next-20171018+ #8 [ 16.867430] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011 [ 16.867976] Call Trace: [ 16.868171] dump_stack+0x194/0x257 [ 16.868451] ? arch_local_irq_restore+0x53/0x53 [ 16.868777] ? show_regs_print_info+0x65/0x65 [ 16.869105] ? __hw_addr_flush+0x1a6/0x2b0 [ 16.869499] ? rcu_pm_notify+0xc0/0xc0 [ 16.869849] ? free_netdev+0x31a/0x360 [ 16.870206] print_address_description+0x73/0x250 [ 16.870645] ? free_netdev+0x31a/0x360 [ 16.870999] kasan_report+0x25b/0x340 [ 16.871354] __asan_report_load8_noabort+0x14/0x20 [ 16.872091] free_netdev+0x31a/0x360 [ 16.872434] netdev_run_todo+0x736/0xae0 [ 16.872802] ? tun_xdp+0x410/0x410 [ 16.873124] ? register_netdev+0x30/0x30 [ 16.873505] ? refcount_inc+0x50/0x50 [ 16.873822] ? refcount_inc+0x50/0x50 [ 16.874148] ? sk_destruct+0x4c/0x80 [ 16.874487] ? __sk_free+0x5c/0x230 [ 16.874816] ? sk_free+0x2f/0x40 [ 16.875124] ? __tun_detach+0x760/0x1570 [ 16.875519] ? locks_remove_file+0x3fa/0x5a0 [ 16.875923] ? fcntl_setlk+0x10c0/0x10c0 [ 16.876302] ? fsnotify+0x1af0/0x1af0 [ 16.876649] ? rcu_note_context_switch+0x710/0x710 [ 16.877102] ? __tun_detach+0x1570/0x1570 [ 16.877533] rtnl_unlock+0xe/0x10 [ 16.877851] tun_chr_close+0x49/0x60 [ 16.878193] __fput+0x327/0x7e0 [ 16.878504] ? fput+0x140/0x140 [ 16.878810] ? trace_event_raw_event_sched_switch+0x8a0/0x8a0 [ 16.879341] ? _raw_spin_unlock_irq+0x27/0x70 [ 16.879760] ____fput+0x15/0x20 [ 16.880063] task_work_run+0x199/0x270 [ 16.880424] ? task_work_cancel+0x210/0x210 [ 16.880807] ? _raw_spin_unlock+0x22/0x30 [ 16.881165] ? switch_task_namespaces+0x87/0xc0 [ 16.881630] do_exit+0x9b5/0x1ad0 [ 16.882007] ? mm_update_next_owner+0x930/0x930 [ 16.882436] ? __sched_text_start+0x8/0x8 [ 16.882823] ? tun_chr_read_iter+0x1e0/0x1e0 [ 16.883226] ? putname+0xee/0x130 [ 16.883543] ? save_stack+0xa3/0xd0 [ 16.883919] ? save_stack+0x43/0xd0 [ 16.884254] ? kasan_slab_free+0x71/0xc0 [ 16.884625] ? putname+0xee/0x130 [ 16.884937] ? do_sys_open+0x31b/0x6d0 [ 16.885298] ? __lock_is_held+0xb6/0x140 [ 16.885676] ? schedule+0xf5/0x430 [ 16.885994] ? __schedule+0x2060/0x2060 [ 16.886293] ? trace_event_raw_event_sched_switch+0x8a0/0x8a0 [ 16.886712] ? tun_chr_compat_ioctl+0x30/0x30 [ 16.887043] ? tun_chr_ioctl+0x2a/0x40 [ 16.887324] ? exit_to_usermode_loop+0x8c/0x310 [ 16.887645] ? trace_hardirqs_off+0xd/0x10 [ 16.887954] ? exit_to_usermode_loop+0x198/0x310 [ 16.888297] ? trace_event_raw_event_sys_exit+0x260/0x260 [ 16.888666] ? selinux_capable+0x40/0x40 [ 16.888993] do_group_exit+0x149/0x400 [ 16.889277] ? prepare_exit_to_usermode+0x2d0/0x2d0 [ 16.889708] ? SyS_exit+0x30/0x30 [ 16.889958] ? trace_hardirqs_on_caller+0x421/0x5c0 [ 16.890299] ? trace_hardirqs_on_thunk+0x1a/0x1c [ 16.890632] SyS_exit_group+0x1d/0x20 [ 16.890906] entry_SYSCALL_64_fastpath+0x1f/0xbe [ 16.891253] RIP: 0033:0x437c39 [ 16.891476] RSP: 002b:00007fff30390848 EFLAGS: 00000246 ORIG_RAX: 00000000000000e7 [ 16.891977] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 0000000000437c39 [ 16.892485] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000 [ 16.893330] RBP: 0000000000000082 R08: 000000000000003c R09: 00000000000000e7 [ 16.893909] R10: ffffffffffffffc0 R11: 0000000000000246 R12: 74656e2f7665642f [ 16.894422] R13: 0000000000401cf0 R14: 0000000000401d80 R15: 0000000000000000 [ 16.895029] [ 16.895173] Allocated by task 2975: [ 16.895491] save_stack+0x43/0xd0 [ 16.895794] kasan_kmalloc+0xad/0xe0 [ 16.896117] __kmalloc+0x162/0x760 [ 16.896412] sk_prot_alloc+0x101/0x2a0 [ 16.896734] sk_alloc+0x89/0x700 [ 16.897015] tun_chr_open+0xec/0x490 [ 16.897325] misc_open+0x382/0x500 [ 16.897683] chrdev_open+0x257/0x730 [ 16.898005] do_dentry_open+0x664/0xd40 [ 16.898349] vfs_open+0x107/0x220 [ 16.898630] path_openat+0x1151/0x3520 [ 16.898962] do_filp_open+0x25b/0x3b0 [ 16.899286] do_sys_open+0x502/0x6d0 [ 16.899606] SyS_open+0x2d/0x40 [ 16.899890] entry_SYSCALL_64_fastpath+0x1f/0xbe [ 16.900298] [ 16.900435] Freed by task 2975: [ 16.900694] save_stack+0x43/0xd0 [ 16.900977] kasan_slab_free+0x71/0xc0 [ 16.901290] kfree+0xca/0x250 [ 16.901630] __sk_destruct+0x74a/0x910 [ 16.901943] sk_destruct+0x47/0x80 [ 16.902307] __sk_free+0x57/0x230 [ 16.902586] sk_free+0x2a/0x40 [ 16.902824] __tun_detach+0x75b/0x1570 [ 16.903102] tun_chr_close+0x44/0x60 [ 16.903364] __fput+0x327/0x7e0 [ 16.903603] ____fput+0x15/0x20 [ 16.903846] task_work_run+0x199/0x270 [ 16.904123] do_exit+0x9b5/0x1ad0 [ 16.904368] do_group_exit+0x149/0x400 [ 16.904632] SyS_exit_group+0x1d/0x20 [ 16.904894] entry_SYSCALL_64_fastpath+0x1f/0xbe [ 16.905221] [ 16.905340] The buggy address belongs to the object at ffff88006d36e600 [ 16.905340] which belongs to the cache kmalloc-2048 of size 2048 [ 16.906397] The buggy address is located 1440 bytes inside of [ 16.906397] 2048-byte region [ffff88006d36e600, ffff88006d36ee00) [ 16.907469] The buggy address belongs to the page: [ 16.907899] page:ffffea0001b4db80 count:1 mapcount:0 mapping:ffff88006d36e600 index:0x0 compound_mapcount: 0 [ 16.908688] flags: 0x500000000008100(slab|head) [ 16.909062] raw: 0500000000008100 ffff88006d36e600 0000000000000000 0000000100000003 [ 16.909732] raw: ffffea0001b32420 ffffea0001a173a0 ffff88003e800c40 0000000000000000 [ 16.910388] page dumped because: kasan: bad access detected [ 16.910861] [ 16.911006] Memory state around the buggy address: [ 16.911428] ffff88006d36ea80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb [ 16.912057] ffff88006d36eb00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb [ 16.912658] >ffff88006d36eb80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb [ 16.913244] ^ [ 16.913647] ffff88006d36ec00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb [ 16.914225] ffff88006d36ec80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb [ 16.915056] ================================================================== [ 16.915739] Disabling lock debugging due to kernel taint [ 16.916273] Kernel panic - not syncing: panic_on_warn set ... [ 16.916273] [ 16.916965] CPU: 2 PID: 2975 Comm: syzkaller968337 Tainted: G B 4.14.0-rc5-next-20171018+ #8 [ 16.917840] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011 [ 16.918482] Call Trace: [ 16.918710] dump_stack+0x194/0x257 [ 16.919001] ? arch_local_irq_restore+0x53/0x53 [ 16.919395] ? kasan_end_report+0x32/0x50 [ 16.919749] ? trace_hardirqs_on_thunk+0x1a/0x1c [ 16.920163] ? vsnprintf+0x1ed/0x1900 [ 16.920489] ? free_netdev+0x270/0x360 [ 16.920821] panic+0x1e4/0x41c [ 16.921106] ? refcount_error_report+0x214/0x214 [ 16.921597] ? add_taint+0x1c/0x50 [ 16.921933] ? add_taint+0x1c/0x50 [ 16.922255] ? free_netdev+0x31a/0x360 [ 16.922609] kasan_end_report+0x50/0x50 [ 16.922972] kasan_report+0x144/0x340 [ 16.923325] __asan_report_load8_noabort+0x14/0x20 [ 16.923773] free_netdev+0x31a/0x360 [ 16.924117] netdev_run_todo+0x736/0xae0 [ 16.924488] ? tun_xdp+0x410/0x410 [ 16.924809] ? register_netdev+0x30/0x30 [ 16.925057] ? refcount_inc+0x50/0x50 [ 16.925281] ? refcount_inc+0x50/0x50 [ 16.925680] ? sk_destruct+0x4c/0x80 [ 16.925898] ? __sk_free+0x5c/0x230 [ 16.926113] ? sk_free+0x2f/0x40 [ 16.926312] ? __tun_detach+0x760/0x1570 [ 16.926572] ? locks_remove_file+0x3fa/0x5a0 [ 16.926831] ? fcntl_setlk+0x10c0/0x10c0 [ 16.927072] ? fsnotify+0x1af0/0x1af0 [ 16.927296] ? rcu_note_context_switch+0x710/0x710 [ 16.927598] ? __tun_detach+0x1570/0x1570 [ 16.927841] rtnl_unlock+0xe/0x10 [ 16.928044] tun_chr_close+0x49/0x60 [ 16.928262] __fput+0x327/0x7e0 [ 16.928463] ? fput+0x140/0x140 [ 16.928667] ? trace_event_raw_event_sched_switch+0x8a0/0x8a0 [ 16.929009] ? _raw_spin_unlock_irq+0x27/0x70 [ 16.929275] ____fput+0x15/0x20 [ 16.929566] task_work_run+0x199/0x270 [ 16.929927] ? task_work_cancel+0x210/0x210 [ 16.930319] ? _raw_spin_unlock+0x22/0x30 [ 16.930712] ? switch_task_namespaces+0x87/0xc0 [ 16.931133] do_exit+0x9b5/0x1ad0 [ 16.931447] ? mm_update_next_owner+0x930/0x930 [ 16.931868] ? __sched_text_start+0x8/0x8 [ 16.932246] ? tun_chr_read_iter+0x1e0/0x1e0 [ 16.932645] ? putname+0xee/0x130 [ 16.932960] ? save_stack+0xa3/0xd0 [ 16.933285] ? save_stack+0x43/0xd0 [ 16.933622] ? kasan_slab_free+0x71/0xc0 [ 16.933993] ? putname+0xee/0x130 [ 16.934310] ? do_sys_open+0x31b/0x6d0 [ 16.934669] ? __lock_is_held+0xb6/0x140 [ 16.935038] ? schedule+0xf5/0x430 [ 16.935360] ? __schedule+0x2060/0x2060 [ 16.935722] ? trace_event_raw_event_sched_switch+0x8a0/0x8a0 [ 16.936257] ? tun_chr_compat_ioctl+0x30/0x30 [ 16.936667] ? tun_chr_ioctl+0x2a/0x40 [ 16.937022] ? exit_to_usermode_loop+0x8c/0x310 [ 16.938053] ? trace_hardirqs_off+0xd/0x10 [ 16.938400] ? exit_to_usermode_loop+0x198/0x310 [ 16.938838] ? trace_event_raw_event_sys_exit+0x260/0x260 [ 16.939343] ? selinux_capable+0x40/0x40 [ 16.939720] do_group_exit+0x149/0x400 [ 16.940074] ? prepare_exit_to_usermode+0x2d0/0x2d0 [ 16.940535] ? SyS_exit+0x30/0x30 [ 16.940854] ? trace_hardirqs_on_caller+0x421/0x5c0 [ 16.941308] ? trace_hardirqs_on_thunk+0x1a/0x1c [ 16.941751] SyS_exit_group+0x1d/0x20 [ 16.942093] entry_SYSCALL_64_fastpath+0x1f/0xbe [ 16.942520] RIP: 0033:0x437c39 [ 16.942804] RSP: 002b:00007fff30390848 EFLAGS: 00000246 ORIG_RAX: 00000000000000e7 [ 16.943491] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 0000000000437c39 [ 16.944140] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000 [ 16.944786] RBP: 0000000000000082 R08: 000000000000003c R09: 00000000000000e7 [ 16.945604] R10: ffffffffffffffc0 R11: 0000000000000246 R12: 74656e2f7665642f [ 16.946260] R13: 0000000000401cf0 R14: 0000000000401d80 R15: 0000000000000000 [ 16.948991] Dumping ftrace buffer: [ 16.949314] (ftrace buffer empty) [ 16.949653] Kernel Offset: disabled [ 16.949963] Rebooting in 86400 seconds..