device syz1 entered promiscuous mode ================================================================== BUG: KASAN: use-after-free in __tcp_hdrlen include/linux/tcp.h:35 [inline] BUG: KASAN: use-after-free in tcp_hdrlen include/linux/tcp.h:40 [inline] BUG: KASAN: use-after-free in qdisc_pkt_len_init net/core/dev.c:3171 [inline] BUG: KASAN: use-after-free in __dev_queue_xmit+0x297c/0x2b50 net/core/dev.c:3477 Read of size 2 at addr ffff8801cd344838 by task syz-executor1/5183 CPU: 1 PID: 5183 Comm: syz-executor1 Not tainted 4.15.0-rc7-mm1+ #56 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:17 [inline] dump_stack+0x194/0x257 lib/dump_stack.c:53 print_address_description+0x73/0x250 mm/kasan/report.c:256 kasan_report_error mm/kasan/report.c:354 [inline] kasan_report+0x23b/0x360 mm/kasan/report.c:412 __asan_report_load2_noabort+0x14/0x20 mm/kasan/report.c:431 __tcp_hdrlen include/linux/tcp.h:35 [inline] tcp_hdrlen include/linux/tcp.h:40 [inline] qdisc_pkt_len_init net/core/dev.c:3171 [inline] __dev_queue_xmit+0x297c/0x2b50 net/core/dev.c:3477 dev_queue_xmit+0x17/0x20 net/core/dev.c:3566 packet_snd net/packet/af_packet.c:2944 [inline] packet_sendmsg+0x3aed/0x60b0 net/packet/af_packet.c:2969 sock_sendmsg_nosec net/socket.c:630 [inline] sock_sendmsg+0xca/0x110 net/socket.c:640 sock_write_iter+0x31a/0x5d0 net/socket.c:909 call_write_iter include/linux/fs.h:1775 [inline] new_sync_write fs/read_write.c:469 [inline] __vfs_write+0x684/0x970 fs/read_write.c:482 vfs_write+0x189/0x510 fs/read_write.c:544 SYSC_write fs/read_write.c:589 [inline] SyS_write+0xef/0x220 fs/read_write.c:581 entry_SYSCALL_64_fastpath+0x29/0xa0 RIP: 0033:0x452cf9 RSP: 002b:00007f61e7e67c58 EFLAGS: 00000212 ORIG_RAX: 0000000000000001 RAX: ffffffffffffffda RBX: 000000000071bea0 RCX: 0000000000452cf9 RDX: 0000000000000078 RSI: 0000000020333000 RDI: 0000000000000015 RBP: 00000000000002fc R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000212 R12: 00000000006f2840 R13: 00000000ffffffff R14: 00007f61e7e686d4 R15: 0000000000000000 Allocated by task 4151: 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:552 kmem_cache_alloc_trace+0x136/0x750 mm/slab.c:3607 kmalloc include/linux/slab.h:515 [inline] kzalloc include/linux/slab.h:704 [inline] alloc_pipe_info+0x159/0x4b0 fs/pipe.c:633 splice_direct_to_actor+0x64a/0x820 fs/splice.c:920 do_splice_direct+0x29b/0x3c0 fs/splice.c:1061 do_sendfile+0x5c9/0xe80 fs/read_write.c:1413 SYSC_sendfile64 fs/read_write.c:1468 [inline] SyS_sendfile64+0xbd/0x160 fs/read_write.c:1460 entry_SYSCALL_64_fastpath+0x29/0xa0 Freed by task 4151: save_stack+0x43/0xd0 mm/kasan/kasan.c:447 set_track mm/kasan/kasan.c:459 [inline] __kasan_slab_free+0x11a/0x170 mm/kasan/kasan.c:520 kasan_slab_free+0xe/0x10 mm/kasan/kasan.c:527 __cache_free mm/slab.c:3485 [inline] kfree+0xd9/0x260 mm/slab.c:3800 free_pipe_info+0x200/0x2a0 fs/pipe.c:684 do_exit+0xaea/0x1ad0 kernel/exit.c:911 do_group_exit+0x149/0x400 kernel/exit.c:972 get_signal+0x73f/0x16c0 kernel/signal.c:2337 do_signal+0x90/0x1eb0 arch/x86/kernel/signal.c:809 exit_to_usermode_loop+0x258/0x2f0 arch/x86/entry/common.c:161 prepare_exit_to_usermode arch/x86/entry/common.c:195 [inline] syscall_return_slowpath+0x490/0x550 arch/x86/entry/common.c:264 entry_SYSCALL_64_fastpath+0x9e/0xa0 The buggy address belongs to the object at ffff8801cd344800 which belongs to the cache kmalloc-512 of size 512 The buggy address is located 56 bytes inside of 512-byte region [ffff8801cd344800, ffff8801cd344a00) The buggy address belongs to the page: page:ffffea000734d100 count:1 mapcount:0 mapping:ffff8801cd344080 index:0x0 flags: 0x2fffc0000000100(slab) raw: 02fffc0000000100 ffff8801cd344080 0000000000000000 0000000100000006 raw: ffffea00073867e0 ffffea0006f93620 ffff8801dac00940 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff8801cd344700: 00 fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ffff8801cd344780: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc >ffff8801cd344800: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff8801cd344880: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff8801cd344900: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ==================================================================