syzbot


KCSAN: data-race in mark_buffer_dirty_inode / mark_buffer_dirty_inode (12)

Status: moderation: reported on 2024/11/23 03:23
Subsystems: exfat
[Documentation on labels]
Reported-by: syzbot+8f246f638e910767fc8a@syzkaller.appspotmail.com
First crash: 147d, last: 14h13m
Similar bugs (11)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in mark_buffer_dirty_inode / mark_buffer_dirty_inode (5) exfat 5 1319d 1389d 0/28 auto-closed as invalid on 2021/10/13 19:55
upstream KCSAN: data-race in mark_buffer_dirty_inode / mark_buffer_dirty_inode (7) exfat 5 977d 1013d 0/28 auto-closed as invalid on 2022/09/20 02:49
upstream KCSAN: data-race in mark_buffer_dirty_inode / mark_buffer_dirty_inode (2) exfat 11 1636d 1747d 0/28 auto-closed as invalid on 2020/11/30 13:39
upstream KCSAN: data-race in mark_buffer_dirty_inode / mark_buffer_dirty_inode (8) exfat 101 479d 498d 0/28 auto-obsoleted due to no activity on 2024/01/31 07:12
upstream KCSAN: data-race in mark_buffer_dirty_inode / mark_buffer_dirty_inode (3) exfat 2 1547d 1579d 0/28 auto-closed as invalid on 2021/02/27 21:17
upstream KCSAN: data-race in mark_buffer_dirty_inode / mark_buffer_dirty_inode (11) exfat 38 185d 314d 0/28 auto-obsoleted due to no activity on 2024/11/20 06:37
upstream KCSAN: data-race in mark_buffer_dirty_inode / mark_buffer_dirty_inode (10) exfat 1 371d 371d 0/28 auto-obsoleted due to no activity on 2024/05/18 09:53
upstream KCSAN: data-race in mark_buffer_dirty_inode / mark_buffer_dirty_inode (9) exfat 2 410d 426d 0/28 auto-obsoleted due to no activity on 2024/04/09 13:34
upstream KCSAN: data-race in mark_buffer_dirty_inode / mark_buffer_dirty_inode (6) exfat 6 1084d 1133d 0/28 auto-closed as invalid on 2022/06/04 23:25
upstream KCSAN: data-race in mark_buffer_dirty_inode / mark_buffer_dirty_inode exfat 1 1778d 1778d 0/28 closed as invalid on 2020/06/18 14:13
upstream KCSAN: data-race in mark_buffer_dirty_inode / mark_buffer_dirty_inode (4) exfat 8 1426d 1464d 0/28 auto-closed as invalid on 2021/06/28 13:09

Sample crash report:
loop2: detected capacity change from 0 to 8192
==================================================================
BUG: KCSAN: data-race in mark_buffer_dirty_inode / mark_buffer_dirty_inode

write to 0xffff88810621b670 of 8 bytes by task 3084 on cpu 0:
 mark_buffer_dirty_inode+0x18d/0x1c0 fs/buffer.c:682
 fat_mirror_bhs+0x242/0x330 fs/fat/fatent.c:398
 fat_alloc_clusters+0x996/0xa90 fs/fat/fatent.c:543
 fat_add_cluster fs/fat/inode.c:107 [inline]
 __fat_get_block fs/fat/inode.c:154 [inline]
 fat_get_block+0x25f/0x5e0 fs/fat/inode.c:189
 __block_write_begin_int+0x419/0xf90 fs/buffer.c:2116
 block_write_begin fs/buffer.c:2227 [inline]
 cont_write_begin+0x548/0x860 fs/buffer.c:2566
 fat_write_begin+0x51/0xe0 fs/fat/inode.c:228
 generic_perform_write+0x189/0x4b0 mm/filemap.c:4103
 __generic_file_write_iter+0xa1/0x120 mm/filemap.c:4220
 generic_file_write_iter+0x92/0x310 mm/filemap.c:4246
 do_iter_readv_writev+0x40d/0x4b0 fs/read_write.c:-1
 vfs_writev+0x2da/0x880 fs/read_write.c:1055
 do_pwritev fs/read_write.c:1151 [inline]
 __do_sys_pwritev2 fs/read_write.c:1209 [inline]
 __se_sys_pwritev2+0x103/0x1d0 fs/read_write.c:1200
 __x64_sys_pwritev2+0x78/0x90 fs/read_write.c:1200
 x64_sys_call+0x1c86/0x2e10 arch/x86/include/generated/asm/syscalls_64.h:329
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0xc9/0x1a0 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

read to 0xffff88810621b670 of 8 bytes by task 3075 on cpu 1:
 mark_buffer_dirty_inode+0x96/0x1c0 fs/buffer.c:678
 fat_mirror_bhs+0x242/0x330 fs/fat/fatent.c:398
 fat_alloc_clusters+0x996/0xa90 fs/fat/fatent.c:543
 fat_add_cluster fs/fat/inode.c:107 [inline]
 __fat_get_block fs/fat/inode.c:154 [inline]
 fat_get_block+0x25f/0x5e0 fs/fat/inode.c:189
 __block_write_begin_int+0x419/0xf90 fs/buffer.c:2116
 block_write_begin fs/buffer.c:2227 [inline]
 cont_write_begin+0x548/0x860 fs/buffer.c:2566
 fat_write_begin+0x51/0xe0 fs/fat/inode.c:228
 cont_expand_zero fs/buffer.c:2493 [inline]
 cont_write_begin+0x18d/0x860 fs/buffer.c:2556
 fat_write_begin+0x51/0xe0 fs/fat/inode.c:228
 generic_cont_expand_simple+0xaf/0x150 fs/buffer.c:2457
 fat_cont_expand+0x3a/0x160 fs/fat/file.c:223
 fat_setattr+0x2aa/0x840 fs/fat/file.c:513
 notify_change+0x85c/0x8e0 fs/attr.c:552
 do_truncate fs/open.c:65 [inline]
 do_ftruncate+0x32c/0x440 fs/open.c:192
 do_sys_ftruncate fs/open.c:207 [inline]
 __do_sys_ftruncate fs/open.c:212 [inline]
 __se_sys_ftruncate fs/open.c:210 [inline]
 __x64_sys_ftruncate+0x68/0xc0 fs/open.c:210
 x64_sys_call+0xa17/0x2e10 arch/x86/include/generated/asm/syscalls_64.h:78
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0xc9/0x1a0 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

value changed: 0x0000000000000000 -> 0xffff8881063cfe08

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 UID: 0 PID: 3075 Comm: syz.2.9678 Not tainted 6.15.0-rc2-syzkaller-00400-g3088d26962e8 #0 PREEMPT(voluntary) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2025
==================================================================

Crashes (16):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/04/19 08:06 upstream 3088d26962e8 2a20f901 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in mark_buffer_dirty_inode / mark_buffer_dirty_inode
2025/03/19 07:56 upstream 81e4f8d68c66 8d0a2921 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in mark_buffer_dirty_inode / mark_buffer_dirty_inode
2025/03/05 04:34 upstream 48a5eed9ad58 c3901742 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in mark_buffer_dirty_inode / mark_buffer_dirty_inode
2025/01/17 17:31 upstream 9bffa1ad25b8 953d1c45 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in mark_buffer_dirty_inode / mark_buffer_dirty_inode
2025/01/17 17:29 upstream 9bffa1ad25b8 953d1c45 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in mark_buffer_dirty_inode / mark_buffer_dirty_inode
2025/01/17 17:27 upstream 9bffa1ad25b8 953d1c45 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in mark_buffer_dirty_inode / mark_buffer_dirty_inode
2025/01/17 17:27 upstream 9bffa1ad25b8 953d1c45 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in mark_buffer_dirty_inode / mark_buffer_dirty_inode
2025/01/17 00:29 upstream ce69b4019001 f9e07a6e .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in mark_buffer_dirty_inode / mark_buffer_dirty_inode
2025/01/16 17:24 upstream 619f0b6fad52 f9e07a6e .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in mark_buffer_dirty_inode / mark_buffer_dirty_inode
2025/01/16 17:20 upstream 619f0b6fad52 f9e07a6e .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in mark_buffer_dirty_inode / mark_buffer_dirty_inode
2025/01/16 17:20 upstream 619f0b6fad52 f9e07a6e .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in mark_buffer_dirty_inode / mark_buffer_dirty_inode
2024/12/27 06:45 upstream d6ef8b40d075 d3ccff63 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in mark_buffer_dirty_inode / mark_buffer_dirty_inode
2024/12/26 08:34 upstream 9b2ffa6148b1 444551c4 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in mark_buffer_dirty_inode / mark_buffer_dirty_inode
2024/12/19 23:27 upstream baaa2567a712 5905cb39 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in mark_buffer_dirty_inode / mark_buffer_dirty_inode
2024/12/18 06:49 upstream 59dbb9d81adf a0626d3a .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in mark_buffer_dirty_inode / mark_buffer_dirty_inode
2024/11/23 03:22 upstream 06afb0f36106 68da6d95 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in mark_buffer_dirty_inode / mark_buffer_dirty_inode
* Struck through repros no longer work on HEAD.