================================================================== BUG: KASAN: use-after-free in perf_output_read_group kernel/events/core.c:5882 [inline] BUG: KASAN: use-after-free in perf_output_read+0xedc/0x1050 kernel/events/core.c:5917 Read of size 8 at addr ffff8881964ccb08 by task syz-executor.2/20908 CPU: 1 PID: 20908 Comm: syz-executor.2 Not tainted 4.14.149+ #0 Call Trace: __dump_stack lib/dump_stack.c:17 [inline] dump_stack+0xca/0x134 lib/dump_stack.c:53 print_address_description+0x60/0x226 mm/kasan/report.c:187 __kasan_report.cold+0x1a/0x41 mm/kasan/report.c:316 perf_output_read_group kernel/events/core.c:5882 [inline] perf_output_read+0xedc/0x1050 kernel/events/core.c:5917 perf_output_sample+0xcea/0x1700 kernel/events/core.c:5959 __perf_event_output kernel/events/core.c:6269 [inline] perf_event_output_forward+0x10b/0x220 kernel/events/core.c:6282 __perf_event_overflow+0x12d/0x340 kernel/events/core.c:7520 perf_swevent_overflow+0x7a/0xf0 kernel/events/core.c:7596 perf_swevent_event+0x19c/0x270 kernel/events/core.c:7629 do_perf_sw_event kernel/events/core.c:7737 [inline] ___perf_sw_event+0x2a4/0x4a0 kernel/events/core.c:7768 __perf_sw_event+0x42/0x80 kernel/events/core.c:7780 perf_sw_event include/linux/perf_event.h:1046 [inline] __do_page_fault+0x7b8/0xbb0 arch/x86/mm/fault.c:1461 page_fault+0x22/0x50 arch/x86/entry/entry_64.S:1122 RIP: 0010:fault_in_pages_readable include/linux/pagemap.h:614 [inline] RIP: 0010:iov_iter_fault_in_readable+0x29c/0x350 lib/iov_iter.c:421 RSP: 0018:ffff888199d279d0 EFLAGS: 00010246 RAX: 0000000000000000 RBX: 00000000000003ff RCX: 0000000000040000 RDX: ffffffff81babf56 RSI: ffffc90000f16000 RDI: ffff888199d27d18 RBP: 1ffff110333a4f3b R08: ffff888165488690 R09: ffffed103aee44fa R10: 0000000000000000 R11: ffff8881d77227cf R12: 0000000000001000 R13: 0000000000000000 R14: 00000000202281ff R15: ffff888199d27d10 generic_perform_write+0x158/0x460 mm/filemap.c:3122 __generic_file_write_iter+0x32e/0x550 mm/filemap.c:3257 ext4_file_write_iter+0x58f/0xdb0 fs/ext4/file.c:268 call_write_iter include/linux/fs.h:1798 [inline] new_sync_write fs/read_write.c:471 [inline] __vfs_write+0x401/0x5a0 fs/read_write.c:484 vfs_write+0x17f/0x4d0 fs/read_write.c:546 SYSC_write fs/read_write.c:594 [inline] SyS_write+0x102/0x250 fs/read_write.c:586 do_syscall_64+0x19b/0x520 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x42/0xb7 RIP: 0033:0x459a59 RSP: 002b:00007f6b07528c78 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 RAX: ffffffffffffffda RBX: 0000000000000003 RCX: 0000000000459a59 RDX: 000000005aa78d33 RSI: 0000000020000200 RDI: 0000000000000007 RBP: 000000000075bf20 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 00007f6b075296d4 R13: 00000000004c9aea R14: 00000000004e15a0 R15: 00000000ffffffff Allocated by task 27569: save_stack mm/kasan/common.c:76 [inline] set_track mm/kasan/common.c:85 [inline] __kasan_kmalloc.part.0+0x53/0xc0 mm/kasan/common.c:501 slab_post_alloc_hook mm/slab.h:439 [inline] slab_alloc_node mm/slub.c:2792 [inline] slab_alloc mm/slub.c:2800 [inline] __kmalloc_track_caller+0x10d/0x390 mm/slub.c:4367 __kmalloc_reserve.isra.0+0x2d/0xc0 net/core/skbuff.c:137 __alloc_skb+0x118/0x5c0 net/core/skbuff.c:205 alloc_skb include/linux/skbuff.h:980 [inline] alloc_skb_with_frags+0x85/0x500 net/core/skbuff.c:5228 sock_alloc_send_pskb+0x5c9/0x720 net/core/sock.c:2078 unix_dgram_sendmsg+0x345/0xeb0 net/unix/af_unix.c:1691 sock_sendmsg_nosec net/socket.c:646 [inline] sock_sendmsg+0xb7/0x100 net/socket.c:656 SYSC_sendto net/socket.c:1763 [inline] SyS_sendto+0x1de/0x2f0 net/socket.c:1731 do_syscall_64+0x19b/0x520 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x42/0xb7 0xffffffffffffffff Freed by task 190: save_stack mm/kasan/common.c:76 [inline] set_track mm/kasan/common.c:85 [inline] __kasan_slab_free+0x164/0x210 mm/kasan/common.c:463 slab_free_hook mm/slub.c:1407 [inline] slab_free_freelist_hook mm/slub.c:1458 [inline] slab_free mm/slub.c:3039 [inline] kfree+0x108/0x3a0 mm/slub.c:3976 skb_free_head+0x83/0xa0 net/core/skbuff.c:554 skb_release_data+0x4e5/0x770 net/core/skbuff.c:574 skb_release_all+0x46/0x60 net/core/skbuff.c:631 __kfree_skb net/core/skbuff.c:645 [inline] consume_skb+0xdc/0x360 net/core/skbuff.c:705 skb_free_datagram+0x16/0xe0 net/core/datagram.c:331 unix_dgram_recvmsg+0x738/0xd00 net/unix/af_unix.c:2193 sock_recvmsg_nosec net/socket.c:819 [inline] sock_recvmsg net/socket.c:826 [inline] sock_recvmsg+0xc2/0x100 net/socket.c:822 SYSC_recvfrom net/socket.c:1815 [inline] SyS_recvfrom+0x1a8/0x2e0 net/socket.c:1787 do_syscall_64+0x19b/0x520 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x42/0xb7 0xffffffffffffffff The buggy address belongs to the object at ffff8881964cca00 which belongs to the cache kmalloc-512 of size 512 The buggy address is located 264 bytes inside of 512-byte region [ffff8881964cca00, ffff8881964ccc00) The buggy address belongs to the page: page:ffffea0006593300 count:1 mapcount:0 mapping: (null) index:0x0 compound_mapcount: 0 flags: 0x4000000000010200(slab|head) raw: 4000000000010200 0000000000000000 0000000000000000 00000001000c000c raw: dead000000000100 dead000000000200 ffff8881d6402c00 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff8881964cca00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff8881964cca80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb >ffff8881964ccb00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff8881964ccb80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff8881964ccc00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ==================================================================