syzbot


KCSAN: data-race in __mark_inode_dirty / writeback_single_inode (8)

Status: moderation: reported on 2024/05/19 03:04
Subsystems: exfat
[Documentation on labels]
Reported-by: syzbot+cca012716cd96d0383f7@syzkaller.appspotmail.com
First crash: 69d, last: 2h12m
Similar bugs (7)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in __mark_inode_dirty / writeback_single_inode (3) exfat 368 978d 1432d 0/27 auto-closed as invalid on 2021/12/26 17:54
upstream KCSAN: data-race in __mark_inode_dirty / writeback_single_inode (4) exfat 19 669d 790d 0/27 auto-obsoleted due to no activity on 2022/11/01 03:27
upstream KCSAN: data-race in __mark_inode_dirty / writeback_single_inode exfat 1 1722d 1722d 0/27 closed as invalid on 2019/11/19 14:44
upstream KCSAN: data-race in __mark_inode_dirty / writeback_single_inode (6) exfat 19 216d 230d 0/27 auto-obsoleted due to no activity on 2024/01/27 22:00
upstream KCSAN: data-race in __mark_inode_dirty / writeback_single_inode (7) exfat 1 130d 130d 0/27 auto-obsoleted due to no activity on 2024/04/23 08:38
upstream KCSAN: data-race in __mark_inode_dirty / writeback_single_inode (5) exfat ext4 51 437d 633d 0/27 auto-obsoleted due to no activity on 2023/06/20 16:49
upstream KCSAN: data-race in __mark_inode_dirty / writeback_single_inode (2) ext4 18 1503d 1667d 0/27 closed as invalid on 2020/06/18 14:24

Sample crash report:
==================================================================
BUG: KCSAN: data-race in __mark_inode_dirty / writeback_single_inode

write to 0xffff8881088a1628 of 8 bytes by task 13902 on cpu 0:
 writeback_single_inode+0x10e/0x4a0 fs/fs-writeback.c:1769
 sync_inode_metadata+0x5c/0x90 fs/fs-writeback.c:2842
 __generic_file_fsync+0xf9/0x140 fs/libfs.c:1527
 fat_file_fsync+0x4c/0x100 fs/fat/file.c:191
 vfs_fsync_range+0x122/0x140 fs/sync.c:188
 generic_write_sync include/linux/fs.h:2816 [inline]
 generic_file_write_iter+0x191/0x1d0 mm/filemap.c:4151
 iter_file_splice_write+0x5e6/0x970 fs/splice.c:743
 do_splice_from fs/splice.c:941 [inline]
 direct_splice_actor+0x16c/0x2c0 fs/splice.c:1164
 splice_direct_to_actor+0x305/0x670 fs/splice.c:1108
 do_splice_direct_actor fs/splice.c:1207 [inline]
 do_splice_direct+0xd7/0x150 fs/splice.c:1233
 do_sendfile+0x3ab/0x950 fs/read_write.c:1295
 __do_sys_sendfile64 fs/read_write.c:1362 [inline]
 __se_sys_sendfile64 fs/read_write.c:1348 [inline]
 __x64_sys_sendfile64+0x110/0x150 fs/read_write.c:1348
 x64_sys_call+0xfc3/0x2e00 arch/x86/include/generated/asm/syscalls_64.h:41
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xc9/0x1c0 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

read to 0xffff8881088a1628 of 8 bytes by task 13906 on cpu 1:
 __mark_inode_dirty+0x19f/0x7e0 fs/fs-writeback.c:2508
 fat_update_time+0x1f5/0x210 fs/fat/misc.c:357
 inode_update_time fs/inode.c:1981 [inline]
 touch_atime+0x14f/0x350 fs/inode.c:2054
 file_accessed include/linux/fs.h:2480 [inline]
 filemap_splice_read+0x8b0/0x920 mm/filemap.c:2950
 do_splice_read fs/splice.c:985 [inline]
 splice_direct_to_actor+0x26c/0x670 fs/splice.c:1089
 do_splice_direct_actor fs/splice.c:1207 [inline]
 do_splice_direct+0xd7/0x150 fs/splice.c:1233
 do_sendfile+0x3ab/0x950 fs/read_write.c:1295
 __do_sys_sendfile64 fs/read_write.c:1362 [inline]
 __se_sys_sendfile64 fs/read_write.c:1348 [inline]
 __x64_sys_sendfile64+0x110/0x150 fs/read_write.c:1348
 x64_sys_call+0xfc3/0x2e00 arch/x86/include/generated/asm/syscalls_64.h:41
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xc9/0x1c0 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

value changed: 0x0000000000000007 -> 0x0000000000000080

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 UID: 0 PID: 13906 Comm: syz.2.2955 Not tainted 6.10.0-syzkaller-12710-g3a7e02c040b1 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/27/2024
==================================================================

Crashes (15):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/07/27 12:03 upstream 3a7e02c040b1 46eb10b7 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __mark_inode_dirty / writeback_single_inode
2024/07/26 01:42 upstream 1722389b0d86 3f86dfed .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __mark_inode_dirty / writeback_single_inode
2024/07/26 01:40 upstream 1722389b0d86 3f86dfed .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __mark_inode_dirty / writeback_single_inode
2024/07/24 05:56 upstream 786c8248dbd3 57b2edb1 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __mark_inode_dirty / writeback_single_inode
2024/07/23 04:20 upstream 66ebbdfdeb09 708c10c4 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __mark_inode_dirty / writeback_single_inode
2024/07/08 12:32 upstream 256abd8e550c cde64f7d .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __mark_inode_dirty / writeback_single_inode
2024/07/03 01:16 upstream e9d22f7a6655 07f0a0a0 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __mark_inode_dirty / writeback_single_inode
2024/07/03 01:16 upstream e9d22f7a6655 07f0a0a0 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __mark_inode_dirty / writeback_single_inode
2024/06/23 05:09 upstream 563a50672d8a edc5149a .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __mark_inode_dirty / writeback_single_inode
2024/06/19 23:17 upstream e5b3efbe1ab1 41b7e219 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __mark_inode_dirty / writeback_single_inode
2024/06/10 21:07 upstream 83a7eefedc9b 048c640a .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __mark_inode_dirty / writeback_single_inode
2024/05/22 11:25 upstream 2a8120d7b482 4d098039 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __mark_inode_dirty / writeback_single_inode
2024/05/21 07:38 upstream 8f6a15f095a6 4c0d3ee3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __mark_inode_dirty / writeback_single_inode
2024/05/21 02:48 upstream daa121128a2d c0f1611a .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __mark_inode_dirty / writeback_single_inode
2024/05/19 03:03 upstream 0450d2083be6 c0f1611a .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __mark_inode_dirty / writeback_single_inode
* Struck through repros no longer work on HEAD.