syzbot


KCSAN: data-race in atime_needs_update / generic_update_time

Status: auto-closed as invalid on 2020/07/23 07:17
Subsystems: ext4
[Documentation on labels]
Reported-by: syzbot+101664e0742b90681ada@syzkaller.appspotmail.com
First crash: 1619d, last: 1380d

Sample crash report:
==================================================================
BUG: KCSAN: data-race in atime_needs_update / generic_update_time

write to 0xffff8880b5956410 of 16 bytes by task 14413 on cpu 0:
 generic_update_time+0x109/0x270 fs/inode.c:1675
 update_time+0x7d/0x90 fs/inode.c:1695
 file_update_time+0x205/0x2d0 fs/inode.c:1910
 file_modified fs/inode.c:1933 [inline]
 file_modified+0x60/0x80 fs/inode.c:1918
 ext4_dio_write_checks fs/ext4/file.c:430 [inline]
 ext4_dio_write_iter fs/ext4/file.c:494 [inline]
 ext4_file_write_iter+0xad5/0xd30 fs/ext4/file.c:640
 call_write_iter include/linux/fs.h:1907 [inline]
 do_iter_readv_writev+0x4a7/0x5d0 fs/read_write.c:694
 do_iter_write fs/read_write.c:999 [inline]
 do_iter_write+0x137/0x3a0 fs/read_write.c:980
 vfs_iter_write+0x56/0x80 fs/read_write.c:1040
 iter_file_splice_write+0x530/0x830 fs/splice.c:760
 do_splice_from fs/splice.c:863 [inline]
 direct_splice_actor+0x97/0xb0 fs/splice.c:1037
 splice_direct_to_actor+0x22f/0x540 fs/splice.c:992
 do_splice_direct+0x152/0x1d0 fs/splice.c:1080
 do_sendfile+0x380/0x800 fs/read_write.c:1521
 __do_sys_sendfile64 fs/read_write.c:1582 [inline]
 __se_sys_sendfile64 fs/read_write.c:1568 [inline]
 __x64_sys_sendfile64+0x121/0x140 fs/read_write.c:1568
 do_syscall_64+0xc7/0x3b0 arch/x86/entry/common.c:295
 entry_SYSCALL_64_after_hwframe+0x44/0xa9

read to 0xffff8880b5956418 of 8 bytes by task 14420 on cpu 1:
 timespec64_compare include/linux/time64.h:58 [inline]
 relatime_need_update fs/inode.c:1643 [inline]
 atime_needs_update+0x232/0x360 fs/inode.c:1733
 touch_atime+0x63/0x150 fs/inode.c:1748
 file_accessed include/linux/fs.h:2226 [inline]
 generic_file_buffered_read mm/filemap.c:2243 [inline]
 generic_file_read_iter+0x12fa/0x18c0 mm/filemap.c:2309
 ext4_file_read_iter fs/ext4/file.c:131 [inline]
 ext4_file_read_iter+0x103/0x360 fs/ext4/file.c:114
 call_read_iter include/linux/fs.h:1901 [inline]
 generic_file_splice_read+0x2df/0x470 fs/splice.c:313
 do_splice_to+0xc7/0x100 fs/splice.c:892
 splice_direct_to_actor+0x1b9/0x540 fs/splice.c:971
 do_splice_direct+0x152/0x1d0 fs/splice.c:1080
 do_sendfile+0x380/0x800 fs/read_write.c:1521
 __do_sys_sendfile64 fs/read_write.c:1582 [inline]
 __se_sys_sendfile64 fs/read_write.c:1568 [inline]
 __x64_sys_sendfile64+0x121/0x140 fs/read_write.c:1568
 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: 14420 Comm: syz-executor.5 Not tainted 5.7.0-rc1-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
==================================================================

Crashes (105):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2020/06/18 07:16 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 d45a4d69 .config console log report ci2-upstream-kcsan-gce
2020/06/16 11:46 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 4ea9d964 .config console log report ci2-upstream-kcsan-gce
2020/06/13 08:04 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 f4724dd3 .config console log report ci2-upstream-kcsan-gce
2020/06/12 17:09 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 3036d6fd .config console log report ci2-upstream-kcsan-gce
2020/06/10 04:37 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 860c4de9 .config console log report ci2-upstream-kcsan-gce
2020/06/09 02:32 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 0d60b78a .config console log report ci2-upstream-kcsan-gce
2020/06/08 12:23 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 7604bb03 .config console log report ci2-upstream-kcsan-gce
2020/06/07 23:09 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 7751efd0 .config console log report ci2-upstream-kcsan-gce
2020/06/06 18:37 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 e6b89e4e .config console log report ci2-upstream-kcsan-gce
2020/06/05 08:12 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 2420d1bc .config console log report ci2-upstream-kcsan-gce
2020/06/04 19:28 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 6720fdef .config console log report ci2-upstream-kcsan-gce
2020/06/02 10:44 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 a0331e89 .config console log report ci2-upstream-kcsan-gce
2020/05/30 17:21 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 6f3e1c7c .config console log report ci2-upstream-kcsan-gce
2020/05/30 12:55 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 954bd312 .config console log report ci2-upstream-kcsan-gce
2020/05/29 18:22 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 bed08304 .config console log report ci2-upstream-kcsan-gce
2020/05/29 10:34 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 d19ed305 .config console log report ci2-upstream-kcsan-gce
2020/05/26 18:24 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 9072c126 .config console log report ci2-upstream-kcsan-gce
2020/05/26 01:51 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 8ca3b7d2 .config console log report ci2-upstream-kcsan-gce
2020/05/24 08:50 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 96c92ad3 .config console log report ci2-upstream-kcsan-gce
2020/05/23 11:01 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 4afdfa20 .config console log report ci2-upstream-kcsan-gce
2020/05/21 00:24 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 4afdfa20 .config console log report ci2-upstream-kcsan-gce
2020/05/19 14:47 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 6d882fd2 .config console log report ci2-upstream-kcsan-gce
2020/05/16 06:34 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 37bccd4e .config console log report ci2-upstream-kcsan-gce
2020/05/14 05:30 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 a885920d .config console log report ci2-upstream-kcsan-gce
2020/05/13 21:19 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 9a6d42fb .config console log report ci2-upstream-kcsan-gce
2020/05/12 19:33 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 a44eb8f7 .config console log report ci2-upstream-kcsan-gce
2020/05/11 09:30 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 f8f57555 .config console log report ci2-upstream-kcsan-gce
2020/05/08 16:58 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 fe4122c3 .config console log report ci2-upstream-kcsan-gce
2020/05/08 00:13 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 6c70a1c2 .config console log report ci2-upstream-kcsan-gce
2020/05/07 10:05 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 98cbd87b .config console log report ci2-upstream-kcsan-gce
2020/05/02 15:05 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 58da4c35 .config console log report ci2-upstream-kcsan-gce
2020/05/01 21:40 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 bc734e7a .config console log report ci2-upstream-kcsan-gce
2020/04/30 01:19 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 2dd552a5 .config console log report ci2-upstream-kcsan-gce
2020/04/28 14:38 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 e3ecea2e .config console log report ci2-upstream-kcsan-gce
2020/04/27 07:24 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 0ce7569e .config console log report ci2-upstream-kcsan-gce
2020/04/25 17:36 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 a113ba38 .config console log report ci2-upstream-kcsan-gce
2020/04/23 18:27 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 b9233cab .config console log report ci2-upstream-kcsan-gce
2020/04/21 10:28 https://github.com/google/ktsan.git kcsan 7c3cd68e5d38 98a9f9e6 .config console log report ci2-upstream-kcsan-gce
2020/04/13 06:17 https://github.com/google/ktsan.git kcsan 40959e34d670 17a986e5 .config console log report ci2-upstream-kcsan-gce
2020/04/12 12:16 https://github.com/google/ktsan.git kcsan 40959e34d670 36b0b050 .config console log report ci2-upstream-kcsan-gce
2020/04/09 10:57 https://github.com/google/ktsan.git kcsan 40959e34d670 a8c6a3f8 .config console log report ci2-upstream-kcsan-gce
2020/04/07 07:49 https://github.com/google/ktsan.git kcsan 40959e34d670 99a96044 .config console log report ci2-upstream-kcsan-gce
2020/04/03 21:36 https://github.com/google/ktsan.git kcsan 40959e34d670 ef26b610 .config console log report ci2-upstream-kcsan-gce
2020/03/30 22:39 https://github.com/google/ktsan.git kcsan 40959e34d670 c8d1cc20 .config console log report ci2-upstream-kcsan-gce
2020/03/28 01:03 https://github.com/google/ktsan.git kcsan 40959e34d670 831e9a81 .config console log report ci2-upstream-kcsan-gce
2020/02/26 20:30 https://github.com/google/ktsan.git kcsan 766d004d1b85 251aabb7 .config console log report ci2-upstream-kcsan-gce
2020/02/26 08:06 https://github.com/google/ktsan.git kcsan 766d004d1b85 4f588111 .config console log report ci2-upstream-kcsan-gce
2019/10/23 03:12 https://github.com/google/ktsan.git kcsan 05f2236801fe d0686497 .config console log report ci2-upstream-kcsan-gce
* Struck through repros no longer work on HEAD.