syzbot


KASAN: use-after-free Read in generic_perform_write
Status: upstream: reported C repro on 2018/07/19 18:01
Reported-by: syzbot+b173e77096a8ba815511@syzkaller.appspotmail.com
First crash: 1407d, last: 344d

Cause bisection: failed (bisect log)
similar bugs (3):
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-4.14 KASAN: use-after-free Read in generic_perform_write (2) syz error 4 71d 172d 0/1 upstream: reported syz repro on 2021/12/05 01:05
linux-4.14 KASAN: use-after-free Read in generic_perform_write 11 377d 607d 0/1 auto-closed as invalid on 2021/09/11 00:48
linux-4.19 KASAN: use-after-free Read in generic_perform_write syz error 34 33d 609d 0/1 upstream: reported syz repro on 2020/09/24 08:55
Patch testing requests:
Created Duration User Patch Repo Result
2021/03/29 17:15 15m alaaemadhossney.ae@gmail.com upstream OK

Sample crash report:
RDX: 0000000000000030 RSI: 0000000020011fd2 RDI: 0000000000000004
RBP: 00000000006dbc40 R08: 00000000006dbc40 R09: 0000000000000000
R10: 00007fc1cd74ccf0 R11: 0000000000000246 R12: 00000000006dbc4c
R13: 00007fffabd5ea5f R14: 00007fc1cd74d9c0 R15: 00000000006dbd4c
==================================================================
BUG: KASAN: use-after-free in memcpy include/linux/string.h:345 [inline]
BUG: KASAN: use-after-free in iov_iter_copy_from_user_atomic+0xb8d/0xfa0 lib/iov_iter.c:916
Read of size 21 at addr ffff8801ad780d60 by task kworker/0:1/13

CPU: 0 PID: 13 Comm: kworker/0:1 Not tainted 4.18.0-rc6-next-20180725+ #18
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Workqueue: events p9_write_work
Call Trace:
 __dump_stack lib/dump_stack.c:77 [inline]
 dump_stack+0x1c9/0x2b4 lib/dump_stack.c:113
 print_address_description+0x6c/0x20b mm/kasan/report.c:256
 kasan_report_error mm/kasan/report.c:354 [inline]
 kasan_report.cold.7+0x242/0x30d mm/kasan/report.c:412
 check_memory_region_inline mm/kasan/kasan.c:260 [inline]
 check_memory_region+0x13e/0x1b0 mm/kasan/kasan.c:267
 memcpy+0x23/0x50 mm/kasan/kasan.c:302
 memcpy include/linux/string.h:345 [inline]
 iov_iter_copy_from_user_atomic+0xb8d/0xfa0 lib/iov_iter.c:916
 generic_perform_write+0x469/0x6c0 mm/filemap.c:3147
 __generic_file_write_iter+0x26e/0x630 mm/filemap.c:3264
 ext4_file_write_iter+0x390/0x1450 fs/ext4/file.c:266
 call_write_iter include/linux/fs.h:1807 [inline]
 new_sync_write fs/read_write.c:474 [inline]
 __vfs_write+0x6af/0x9d0 fs/read_write.c:487
 vfs_write+0x1fc/0x560 fs/read_write.c:549
 kernel_write+0xab/0x120 fs/read_write.c:526
 p9_fd_write net/9p/trans_fd.c:432 [inline]
 p9_write_work+0x6f1/0xd50 net/9p/trans_fd.c:481
 process_one_work+0xc73/0x1ba0 kernel/workqueue.c:2153
 worker_thread+0x189/0x13c0 kernel/workqueue.c:2296
 kthread+0x345/0x410 kernel/kthread.c:246
 ret_from_fork+0x3a/0x50 arch/x86/entry/entry_64.S:415

Allocated by task 4438:
 save_stack+0x43/0xd0 mm/kasan/kasan.c:448
 set_track mm/kasan/kasan.c:460 [inline]
 kasan_kmalloc+0xc4/0xe0 mm/kasan/kasan.c:553
 __do_kmalloc mm/slab.c:3718 [inline]
 __kmalloc+0x14e/0x760 mm/slab.c:3727
 kmalloc include/linux/slab.h:518 [inline]
 p9_fcall_alloc+0x1e/0x90 net/9p/client.c:237
 p9_tag_alloc net/9p/client.c:266 [inline]
 p9_client_prepare_req.part.8+0x107/0xa00 net/9p/client.c:647
 p9_client_prepare_req net/9p/client.c:682 [inline]
 p9_client_rpc+0x247/0x1420 net/9p/client.c:682
 p9_client_version net/9p/client.c:897 [inline]
 p9_client_create+0xd76/0x1631 net/9p/client.c:981
 v9fs_session_init+0x21a/0x1a80 fs/9p/v9fs.c:400
 v9fs_mount+0x7c/0x900 fs/9p/vfs_super.c:135
 legacy_get_tree+0x131/0x460 fs/fs_context.c:674
 vfs_get_tree+0x1cb/0x5c0 fs/super.c:1762
 do_new_mount fs/namespace.c:2629 [inline]
 do_mount+0x6f2/0x1e20 fs/namespace.c:2953
 ksys_mount+0x12d/0x140 fs/namespace.c:3169
 __do_sys_mount fs/namespace.c:3183 [inline]
 __se_sys_mount fs/namespace.c:3180 [inline]
 __x64_sys_mount+0xbe/0x150 fs/namespace.c:3180
 do_syscall_64+0x1b9/0x820 arch/x86/entry/common.c:290
 entry_SYSCALL_64_after_hwframe+0x49/0xbe

Freed by task 4438:
 save_stack+0x43/0xd0 mm/kasan/kasan.c:448
 set_track mm/kasan/kasan.c:460 [inline]
 __kasan_slab_free+0x11a/0x170 mm/kasan/kasan.c:521
 kasan_slab_free+0xe/0x10 mm/kasan/kasan.c:528
 __cache_free mm/slab.c:3498 [inline]
 kfree+0xd9/0x260 mm/slab.c:3813
 p9_free_req+0xb5/0x120 net/9p/client.c:338
 p9_client_rpc+0xb20/0x1420 net/9p/client.c:746
 p9_client_version net/9p/client.c:897 [inline]
 p9_client_create+0xd76/0x1631 net/9p/client.c:981
 v9fs_session_init+0x21a/0x1a80 fs/9p/v9fs.c:400
 v9fs_mount+0x7c/0x900 fs/9p/vfs_super.c:135
 legacy_get_tree+0x131/0x460 fs/fs_context.c:674
 vfs_get_tree+0x1cb/0x5c0 fs/super.c:1762
 do_new_mount fs/namespace.c:2629 [inline]
 do_mount+0x6f2/0x1e20 fs/namespace.c:2953
 ksys_mount+0x12d/0x140 fs/namespace.c:3169
 __do_sys_mount fs/namespace.c:3183 [inline]
 __se_sys_mount fs/namespace.c:3180 [inline]
 __x64_sys_mount+0xbe/0x150 fs/namespace.c:3180
 do_syscall_64+0x1b9/0x820 arch/x86/entry/common.c:290
 entry_SYSCALL_64_after_hwframe+0x49/0xbe

The buggy address belongs to the object at ffff8801ad780d40
 which belongs to the cache kmalloc-16384 of size 16384
The buggy address is located 32 bytes inside of
 16384-byte region [ffff8801ad780d40, ffff8801ad784d40)
The buggy address belongs to the page:
page:ffffea0006b5e000 count:1 mapcount:0 mapping:ffff8801dac02200 index:0x0 compound_mapcount: 0
flags: 0x2fffc0000008100(slab|head)
raw: 02fffc0000008100 ffffea00072e3008 ffffea0006c75408 ffff8801dac02200
raw: 0000000000000000 ffff8801ad780d40 0000000100000001 0000000000000000
page dumped because: kasan: bad access detected

Memory state around the buggy address:
 ffff8801ad780c00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
 ffff8801ad780c80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
>ffff8801ad780d00: fc fc fc fc fc fc fc fc fb fb fb fb fb fb fb fb
                                                       ^
 ffff8801ad780d80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
 ffff8801ad780e00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
==================================================================

Crashes (73):
Manager Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Title
ci-upstream-linux-next-kasan-gce-root 2018/07/29 23:17 linux-next d1e0b8e0cb7a 1a381291 .config log report syz C
ci-upstream-kasan-gce-smack-root 2021/06/16 01:59 upstream 94f0b2d4a1d0 990d3cbe .config log report info KASAN: use-after-free Read in generic_perform_write
ci-upstream-kasan-gce-root 2021/04/21 07:43 upstream 1fe5501ba1ab c0ced557 .config log report info KASAN: use-after-free Read in generic_perform_write
ci-upstream-kasan-gce-selinux-root 2021/04/03 18:59 upstream 57fbdb15ec42 6a81331a .config log report info KASAN: use-after-free Read in generic_perform_write
ci-upstream-kasan-gce-smack-root 2021/03/25 19:37 upstream e138138003eb 6a383ecf .config log report info KASAN: use-after-free Read in generic_perform_write
ci-upstream-kasan-gce-selinux-root 2021/03/24 16:32 upstream 7acac4b3196c 607e3baf .config log report info KASAN: use-after-free Read in generic_perform_write
ci-upstream-kasan-gce-root 2021/03/22 22:00 upstream 84196390620a 8092f30d .config log report info KASAN: use-after-free Read in generic_perform_write
ci-qemu-upstream-386 2021/05/29 01:22 upstream 5ff2756afde0 858ea628 .config log report info KASAN: use-after-free Read in generic_perform_write
ci-upstream-linux-next-kasan-gce-root 2021/05/14 10:58 linux-next cd557f1c605f 8bdd5343 .config log report info KASAN: use-after-free Read in generic_perform_write
ci-upstream-kasan-gce-root 2021/01/13 12:54 upstream e609571b5ffa a945f0a3 .config log report info
ci-upstream-kasan-gce-root 2021/01/04 02:51 upstream e71ba9452f0b 79264ae3 .config log report info
ci-upstream-kasan-gce-root 2020/12/14 16:27 upstream 2c85ebc57b3e 97183ed7 .config log report info
ci-upstream-kasan-gce-smack-root 2020/12/13 16:57 upstream 6bff9bb8a292 bca53db9 .config log report info
ci-upstream-kasan-gce-root 2020/12/09 20:35 upstream a68a0262abda c090b4da .config log report info
ci-upstream-kasan-gce-smack-root 2020/12/09 07:00 upstream 7d8761ba27fc 40cc414d .config log report info
ci-upstream-kasan-gce-root 2020/11/30 14:53 upstream b65054597872 78d50c1d .config log report info
ci-upstream-kasan-gce-smack-root 2020/11/23 16:46 upstream 418baf2c28f3 878fb17a .config log report info
ci-upstream-kasan-gce-smack-root 2020/11/15 22:45 upstream 0062442ecfef 1bf9a662 .config log report info
ci-upstream-kasan-gce-smack-root 2020/10/31 01:57 upstream 5fc6b075e165 18e33098 .config log report info
ci-upstream-kasan-gce-smack-root 2020/10/13 12:53 upstream 865c50e1d279 bd69ee0d .config log report info
ci-upstream-linux-next-kasan-gce-root 2021/01/12 09:21 linux-next df869cab4b35 2c1f2513 .config log report info
ci-upstream-linux-next-kasan-gce-root 2020/12/21 07:05 linux-next 4c6ed015c2a5 04201c06 .config log report info
ci-upstream-linux-next-kasan-gce-root 2020/10/28 06:39 linux-next 1c86f90a16d4 96e03c1c .config log report info
ci-upstream-linux-next-kasan-gce-root 2020/10/22 02:24 linux-next 5302568121ba be6b1582 .config log report info
ci-upstream-linux-next-kasan-gce-root 2018/08/01 06:06 linux-next d1e0b8e0cb7a 1477993e .config log report
ci-upstream-linux-next-kasan-gce-root 2018/07/31 22:41 linux-next d1e0b8e0cb7a 1477993e .config log report
ci-upstream-linux-next-kasan-gce-root 2018/07/31 19:39 linux-next d1e0b8e0cb7a 1477993e .config log report
ci-upstream-linux-next-kasan-gce-root 2018/07/31 16:09 linux-next d1e0b8e0cb7a 1a381291 .config log report
ci-upstream-linux-next-kasan-gce-root 2018/07/31 07:30 linux-next d1e0b8e0cb7a 1a381291 .config log report
ci-upstream-linux-next-kasan-gce-root 2018/07/30 16:34 linux-next d1e0b8e0cb7a 1a381291 .config log report
ci-upstream-linux-next-kasan-gce-root 2018/07/29 22:59 linux-next d1e0b8e0cb7a 1a381291 .config log report
ci-upstream-linux-next-kasan-gce-root 2018/07/23 19:55 linux-next 89cf55353308 f69c5fcd .config log report
ci-upstream-linux-next-kasan-gce-root 2018/07/23 17:42 linux-next 89cf55353308 f69c5fcd .config log report
ci-upstream-linux-next-kasan-gce-root 2018/07/23 12:29 linux-next 89cf55353308 f69c5fcd .config log report
ci-upstream-linux-next-kasan-gce-root 2018/07/23 11:08 linux-next 89cf55353308 f69c5fcd .config log report
ci-upstream-linux-next-kasan-gce-root 2018/07/23 09:50 linux-next 89cf55353308 f69c5fcd .config log report
ci-upstream-linux-next-kasan-gce-root 2018/07/23 08:29 linux-next 89cf55353308 f69c5fcd .config log report
ci-upstream-linux-next-kasan-gce-root 2018/07/23 07:44 linux-next 89cf55353308 8cc079c3 .config log report
ci-upstream-linux-next-kasan-gce-root 2018/07/22 21:33 linux-next 89cf55353308 8cc079c3 .config log report
ci-upstream-linux-next-kasan-gce-root 2018/07/22 18:23 linux-next 89cf55353308 8cc079c3 .config log report
ci-upstream-linux-next-kasan-gce-root 2018/07/22 18:15 linux-next 89cf55353308 8cc079c3 .config log report
ci-upstream-linux-next-kasan-gce-root 2018/07/22 16:30 linux-next 89cf55353308 8cc079c3 .config log report
ci-upstream-linux-next-kasan-gce-root 2018/07/22 14:53 linux-next 89cf55353308 8cc079c3 .config log report
ci-upstream-linux-next-kasan-gce-root 2018/07/22 14:41 linux-next 89cf55353308 8cc079c3 .config log report
ci-upstream-linux-next-kasan-gce-root 2018/07/22 14:12 linux-next 89cf55353308 8cc079c3 .config log report
ci-upstream-linux-next-kasan-gce-root 2018/07/22 14:02 linux-next 89cf55353308 8cc079c3 .config log report
ci-upstream-linux-next-kasan-gce-root 2018/07/22 12:05 linux-next 89cf55353308 8cc079c3 .config log report
ci-upstream-linux-next-kasan-gce-root 2018/07/22 10:04 linux-next 89cf55353308 8cc079c3 .config log report
ci-upstream-linux-next-kasan-gce-root 2018/07/22 09:12 linux-next 89cf55353308 8cc079c3 .config log report
ci-upstream-linux-next-kasan-gce-root 2018/07/22 06:43 linux-next 89cf55353308 8cc079c3 .config log report
ci-upstream-linux-next-kasan-gce-root 2018/07/22 06:04 linux-next 89cf55353308 8cc079c3 .config log report
ci-upstream-linux-next-kasan-gce-root 2018/07/22 01:10 linux-next 89cf55353308 8cc079c3 .config log report
ci-upstream-linux-next-kasan-gce-root 2018/07/21 15:21 linux-next 89cf55353308 8cc079c3 .config log report
ci-upstream-linux-next-kasan-gce-root 2018/07/21 14:51 linux-next 89cf55353308 8cc079c3 .config log report
ci-upstream-linux-next-kasan-gce-root 2018/07/21 12:42 linux-next 89cf55353308 8cc079c3 .config log report
ci-upstream-linux-next-kasan-gce-root 2018/07/21 10:45 linux-next 89cf55353308 8cc079c3 .config log report
ci-upstream-linux-next-kasan-gce-root 2018/07/21 10:26 linux-next 89cf55353308 8cc079c3 .config log report
ci-upstream-linux-next-kasan-gce-root 2018/07/21 03:44 linux-next 89cf55353308 af255b09 .config log report
ci-upstream-linux-next-kasan-gce-root 2018/07/21 03:21 linux-next 89cf55353308 af255b09 .config log report
ci-upstream-linux-next-kasan-gce-root 2018/07/21 00:05 linux-next 89cf55353308 af255b09 .config log report
ci-upstream-linux-next-kasan-gce-root 2018/07/20 21:41 linux-next 89cf55353308 af255b09 .config log report
ci-upstream-linux-next-kasan-gce-root 2018/07/20 21:40 linux-next 89cf55353308 af255b09 .config log report
ci-upstream-linux-next-kasan-gce-root 2018/07/20 20:46 linux-next 89cf55353308 af255b09 .config log report
ci-upstream-linux-next-kasan-gce-root 2018/07/20 19:56 linux-next 89cf55353308 af255b09 .config log report
ci-upstream-linux-next-kasan-gce-root 2018/07/20 16:18 linux-next 89cf55353308 49f35839 .config log report
ci-upstream-linux-next-kasan-gce-root 2018/07/20 09:53 linux-next 89cf55353308 49f35839 .config log report
ci-upstream-linux-next-kasan-gce-root 2018/07/20 09:17 linux-next 89cf55353308 49f35839 .config log report
ci-upstream-linux-next-kasan-gce-root 2018/07/20 07:34 linux-next 1c34981993da 49f35839 .config log report
ci-upstream-linux-next-kasan-gce-root 2018/07/20 04:23 linux-next 1c34981993da 49f35839 .config log report
ci-upstream-linux-next-kasan-gce-root 2018/07/20 03:42 linux-next 1c34981993da 49f35839 .config log report
ci-upstream-linux-next-kasan-gce-root 2018/07/20 02:49 linux-next 1c34981993da 49f35839 .config log report
ci-upstream-linux-next-kasan-gce-root 2018/07/19 21:58 linux-next 1c34981993da 49f35839 .config log report
ci-upstream-linux-next-kasan-gce-root 2018/07/19 16:37 linux-next 1c34981993da 49f35839 .config log report