syzbot


KCSAN: data-race in __delete_from_page_cache / shmem_recalc_inode

Status: auto-closed as invalid on 2020/07/22 23:39
Subsystems: mm
[Documentation on labels]
Reported-by: syzbot+ce6e261fd5567b8b5270@syzkaller.appspotmail.com
First crash: 1658d, last: 1420d

Sample crash report:
==================================================================
BUG: KCSAN: data-race in __delete_from_page_cache / shmem_recalc_inode

write to 0xffff8880b7828868 of 8 bytes by task 15415 on cpu 0:
 page_cache_delete mm/filemap.c:153 [inline]
 __delete_from_page_cache+0x1e4/0x490 mm/filemap.c:238
 __remove_mapping+0x2ea/0x540 mm/vmscan.c:925
 shrink_page_list+0x1148/0x2a40 mm/vmscan.c:1424
 reclaim_pages+0x5de/0x830 mm/vmscan.c:2138
 madvise_cold_or_pageout_pte_range+0xc31/0x1b20 mm/madvise.c:379
 walk_pmd_range mm/pagewalk.c:89 [inline]
 walk_pud_range mm/pagewalk.c:160 [inline]
 walk_p4d_range mm/pagewalk.c:193 [inline]
 walk_pgd_range mm/pagewalk.c:229 [inline]
 __walk_page_range+0xa6e/0x1550 mm/pagewalk.c:331
 walk_page_range+0x14c/0x280 mm/pagewalk.c:427
 madvise_pageout_page_range mm/madvise.c:520 [inline]
 madvise_pageout+0x15e/0x200 mm/madvise.c:556
 madvise_vma mm/madvise.c:945 [inline]
 do_madvise mm/madvise.c:1127 [inline]
 do_madvise+0x865/0x12c0 mm/madvise.c:1053
 __do_sys_madvise mm/madvise.c:1153 [inline]
 __se_sys_madvise mm/madvise.c:1151 [inline]
 __x64_sys_madvise+0x48/0x60 mm/madvise.c:1151
 do_syscall_64+0xc7/0x3b0 arch/x86/entry/common.c:295
 entry_SYSCALL_64_after_hwframe+0x44/0xa9

read to 0xffff8880b7828868 of 8 bytes by task 15425 on cpu 1:
 shmem_recalc_inode+0x50/0x180 mm/shmem.c:306
 shmem_getpage_gfp+0x5ca/0x16c0 mm/shmem.c:1885
 shmem_fault+0x117/0x4b0 mm/shmem.c:2062
 __do_fault+0xa8/0x1e0 mm/memory.c:3450
 do_read_fault mm/memory.c:3846 [inline]
 do_fault mm/memory.c:3975 [inline]
 handle_pte_fault mm/memory.c:4215 [inline]
 __handle_mm_fault+0x295c/0x2da0 mm/memory.c:4345
 handle_mm_fault+0x21c/0x540 mm/memory.c:4382
 faultin_page mm/gup.c:879 [inline]
 __get_user_pages+0x533/0x11c0 mm/gup.c:1098
 populate_vma_page_range+0xdc/0x100 mm/gup.c:1430
 __mm_populate+0x168/0x2b0 mm/gup.c:1478
 mm_populate include/linux/mm.h:2562 [inline]
 vm_mmap_pgoff+0x185/0x190 mm/util.c:511
 ksys_mmap_pgoff+0x96/0x420 mm/mmap.c:1595
 do_syscall_64+0xc7/0x3b0 arch/x86/entry/common.c:295
 entry_SYSCALL_64_after_hwframe+0x44/0xa9

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 PID: 15425 Comm: syz-executor.1 Not tainted 5.7.0-rc1-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
==================================================================

Crashes (125):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2020/06/17 23:38 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 d45a4d69 .config console log report ci2-upstream-kcsan-gce
2020/06/17 12:04 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 b6c46f43 .config console log report ci2-upstream-kcsan-gce
2020/06/16 20:09 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 4ea9d964 .config console log report ci2-upstream-kcsan-gce
2020/06/14 18:17 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 2a22c77a .config console log report ci2-upstream-kcsan-gce
2020/06/13 15:31 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 dbce178a .config console log report ci2-upstream-kcsan-gce
2020/06/12 23:20 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 3036d6fd .config console log report ci2-upstream-kcsan-gce
2020/06/12 01:37 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 1beaee21 .config console log report ci2-upstream-kcsan-gce
2020/06/11 14:15 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 3ab7a05a .config console log report ci2-upstream-kcsan-gce
2020/06/10 16:18 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 5caaad3a .config console log report ci2-upstream-kcsan-gce
2020/06/10 09:41 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 860c4de9 .config console log report ci2-upstream-kcsan-gce
2020/06/09 06:49 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 0d60b78a .config console log report ci2-upstream-kcsan-gce
2020/06/07 12:38 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 2c2b926c .config console log report ci2-upstream-kcsan-gce
2020/06/06 15:49 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 e6b89e4e .config console log report ci2-upstream-kcsan-gce
2020/06/04 15:37 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 6720fdef .config console log report ci2-upstream-kcsan-gce
2020/05/29 05:04 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 d19ed305 .config console log report ci2-upstream-kcsan-gce
2020/05/24 13:55 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 ce7ca010 .config console log report ci2-upstream-kcsan-gce
2020/05/16 01:28 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 37bccd4e .config console log report ci2-upstream-kcsan-gce
2020/05/14 13:17 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 2d572622 .config console log report ci2-upstream-kcsan-gce
2020/05/13 22:12 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 a885920d .config console log report ci2-upstream-kcsan-gce
2020/05/12 07:40 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 a497a5b4 .config console log report ci2-upstream-kcsan-gce
2020/05/09 04:34 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 e97b06d3 .config console log report ci2-upstream-kcsan-gce
2020/05/06 10:26 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 35b8eb30 .config console log report ci2-upstream-kcsan-gce
2020/05/04 20:02 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 9941337c .config console log report ci2-upstream-kcsan-gce
2020/05/03 12:01 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 58ae5e18 .config console log report ci2-upstream-kcsan-gce
2020/05/03 07:10 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 5457883a .config console log report ci2-upstream-kcsan-gce
2020/05/02 10:33 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 58da4c35 .config console log report ci2-upstream-kcsan-gce
2020/05/01 09:30 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 143a10e9 .config console log report ci2-upstream-kcsan-gce
2020/04/30 10:26 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 3698959a .config console log report ci2-upstream-kcsan-gce
2020/04/29 21:07 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 ba2806db .config console log report ci2-upstream-kcsan-gce
2020/04/26 15:19 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 0ce7569e .config console log report ci2-upstream-kcsan-gce
2020/04/25 23:45 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 b8bb8e5f .config console log report ci2-upstream-kcsan-gce
2020/04/24 03:14 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 03d97a1b .config console log report ci2-upstream-kcsan-gce
2020/04/23 16:47 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 b9233cab .config console log report ci2-upstream-kcsan-gce
2020/04/22 00:09 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 2e44d63e .config console log report ci2-upstream-kcsan-gce
2020/04/17 22:47 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 435c6d53 .config console log report ci2-upstream-kcsan-gce
2020/04/10 03:23 https://github.com/google/ktsan.git kcsan 40959e34d670 a8c6a3f8 .config console log report ci2-upstream-kcsan-gce
2020/04/07 17:23 https://github.com/google/ktsan.git kcsan 40959e34d670 db9bcd4b .config console log report ci2-upstream-kcsan-gce
2020/04/06 19:43 https://github.com/google/ktsan.git kcsan 40959e34d670 99a96044 .config console log report ci2-upstream-kcsan-gce
2020/04/03 11:41 https://github.com/google/ktsan.git kcsan 40959e34d670 5ed396e6 .config console log report ci2-upstream-kcsan-gce
2020/04/01 08:08 https://github.com/google/ktsan.git kcsan 40959e34d670 a34e2c33 .config console log report ci2-upstream-kcsan-gce
2020/03/30 22:30 https://github.com/google/ktsan.git kcsan 40959e34d670 c8d1cc20 .config console log report ci2-upstream-kcsan-gce
2020/03/04 09:37 https://github.com/google/ktsan.git kcsan 766d004d1b85 1f73b64b .config console log report ci2-upstream-kcsan-gce
2020/03/03 10:41 https://github.com/google/ktsan.git kcsan 766d004d1b85 350a7a26 .config console log report ci2-upstream-kcsan-gce
2020/02/26 03:39 https://github.com/google/ktsan.git kcsan 766d004d1b85 4f588111 .config console log report ci2-upstream-kcsan-gce
2019/12/22 17:03 https://github.com/google/ktsan.git kcsan 245a43005292 8b967267 .config console log report ci2-upstream-kcsan-gce
2019/12/22 06:24 https://github.com/google/ktsan.git kcsan 245a43005292 bc586918 .config console log report ci2-upstream-kcsan-gce
2019/10/24 19:31 https://github.com/google/ktsan.git kcsan 05f2236801fe d01bb02a .config console log report ci2-upstream-kcsan-gce
* Struck through repros no longer work on HEAD.