syzbot


KCSAN: data-race in __mark_inode_dirty / move_expired_inodes (5)

Status: moderation: reported on 2025/02/18 23:41
Subsystems: ext4
[Documentation on labels]
Reported-by: syzbot+0c54a553d9e164272ab3@syzkaller.appspotmail.com
First crash: 87d, last: 3d10h
Similar bugs (4)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in __mark_inode_dirty / move_expired_inodes (4) ext4 3 159d 172d 0/28 auto-obsoleted due to no activity on 2025/02/02 07:47
upstream KCSAN: data-race in __mark_inode_dirty / move_expired_inodes ext4 75 1368d 1621d 0/28 auto-closed as invalid on 2021/09/21 21:54
upstream KCSAN: data-race in __mark_inode_dirty / move_expired_inodes (3) ext4 1 210d 210d 0/28 auto-obsoleted due to no activity on 2024/11/22 12:08
upstream KCSAN: data-race in __mark_inode_dirty / move_expired_inodes (2) ext4 195 251d 526d 0/28 auto-obsoleted due to no activity on 2024/10/12 23:36

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

read-write to 0xffff88810515ca98 of 4 bytes by task 12 on cpu 1:
 move_expired_inodes+0x17a/0x400 fs/fs-writeback.c:1457
 queue_io+0xd9/0x2c0 fs/fs-writeback.c:1509
 wb_writeback+0x226/0x5c0 fs/fs-writeback.c:2152
 wb_check_start_all fs/fs-writeback.c:2284 [inline]
 wb_do_writeback fs/fs-writeback.c:2310 [inline]
 wb_workfn+0x4c9/0x910 fs/fs-writeback.c:2343
 process_one_work kernel/workqueue.c:3238 [inline]
 process_scheduled_works+0x4ce/0x9d0 kernel/workqueue.c:3319
 worker_thread+0x582/0x770 kernel/workqueue.c:3400
 kthread+0x489/0x510 kernel/kthread.c:464
 ret_from_fork+0x4b/0x60 arch/x86/kernel/process.c:153
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245

read to 0xffff88810515ca98 of 4 bytes by task 28454 on cpu 0:
 __mark_inode_dirty+0x18e/0x760 fs/fs-writeback.c:2549
 generic_update_time fs/inode.c:2064 [inline]
 inode_update_time fs/inode.c:2077 [inline]
 __file_update_time fs/inode.c:2305 [inline]
 file_update_time+0x288/0x2b0 fs/inode.c:2335
 ext4_page_mkwrite+0x18b/0xba0 fs/ext4/inode.c:6221
 do_page_mkwrite mm/memory.c:3287 [inline]
 do_shared_fault mm/memory.c:5594 [inline]
 do_fault mm/memory.c:5656 [inline]
 do_pte_missing mm/memory.c:4160 [inline]
 handle_pte_fault mm/memory.c:5997 [inline]
 __handle_mm_fault mm/memory.c:6140 [inline]
 handle_mm_fault+0x1733/0x2ae0 mm/memory.c:6309
 do_user_addr_fault+0x636/0x1090 arch/x86/mm/fault.c:1337
 handle_page_fault arch/x86/mm/fault.c:1480 [inline]
 exc_page_fault+0x54/0xc0 arch/x86/mm/fault.c:1538
 asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:623

value changed: 0x00000020 -> 0x00010022

Reported by Kernel Concurrency Sanitizer on:
CPU: 0 UID: 0 PID: 28454 Comm: syz.7.11063 Not tainted 6.15.0-rc6-syzkaller-00051-g405e6c37c89e #0 PREEMPT(voluntary) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/19/2025
==================================================================

Crashes (8):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/05/13 20:52 upstream 405e6c37c89e 7344edeb .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __mark_inode_dirty / move_expired_inodes
2025/05/13 07:55 upstream e9565e23cd89 f6671af7 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __mark_inode_dirty / move_expired_inodes
2025/05/05 13:39 upstream 92a09c47464d 6ca47dd8 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __mark_inode_dirty / move_expired_inodes
2025/03/19 09:26 upstream 81e4f8d68c66 8d0a2921 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __mark_inode_dirty / move_expired_inodes
2025/03/19 02:48 upstream 76b6905c11fd 22a6c2b1 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __mark_inode_dirty / move_expired_inodes
2025/03/14 19:55 upstream 695caca9345a e2826670 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __mark_inode_dirty / move_expired_inodes
2025/02/21 21:29 upstream 8a61cb6e150e d34966d1 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __mark_inode_dirty / move_expired_inodes
2025/02/18 23:40 upstream 6537cfb395f3 9a14138f .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __mark_inode_dirty / move_expired_inodes
* Struck through repros no longer work on HEAD.