syzbot


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

Status: moderation: reported on 2024/11/26 02:46
Subsystems: ext4
[Documentation on labels]
Reported-by: syzbot+c50aa50aaaf8db7fb66e@syzkaller.appspotmail.com
First crash: 20h56m, last: 20h56m
Similar bugs (3)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in __mark_inode_dirty / move_expired_inodes ext4 75 1197d 1450d 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 39d 39d 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 80d 354d 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 0xffff8881005e77b8 of 4 bytes by task 3726 on cpu 1:
 move_expired_inodes+0x17a/0x410 fs/fs-writeback.c:1457
 queue_io+0xe1/0x2e0 fs/fs-writeback.c:1509
 wb_writeback+0x237/0x640 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+0x4ea/0x940 fs/fs-writeback.c:2343
 process_one_work kernel/workqueue.c:3229 [inline]
 process_scheduled_works+0x483/0x9a0 kernel/workqueue.c:3310
 worker_thread+0x51d/0x6f0 kernel/workqueue.c:3391
 kthread+0x1d1/0x210 kernel/kthread.c:389
 ret_from_fork+0x4b/0x60 arch/x86/kernel/process.c:147
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244

read to 0xffff8881005e77b8 of 4 bytes by task 3307 on cpu 0:
 __mark_inode_dirty+0x198/0x7e0 fs/fs-writeback.c:2537
 mark_buffer_dirty+0x149/0x230 fs/buffer.c:1199
 __block_commit_write fs/buffer.c:2189 [inline]
 block_page_mkwrite+0x29c/0x3f0 fs/buffer.c:2633
 ext4_page_mkwrite+0x73d/0xb70 fs/ext4/inode.c:6180
 do_page_mkwrite mm/memory.c:3176 [inline]
 wp_page_shared mm/memory.c:3577 [inline]
 do_wp_page+0xca1/0x2340 mm/memory.c:3727
 handle_pte_fault mm/memory.c:5817 [inline]
 __handle_mm_fault mm/memory.c:5944 [inline]
 handle_mm_fault+0xc63/0x2ac0 mm/memory.c:6112
 do_user_addr_fault arch/x86/mm/fault.c:1338 [inline]
 handle_page_fault arch/x86/mm/fault.c:1481 [inline]
 exc_page_fault+0x3b9/0x650 arch/x86/mm/fault.c:1539
 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: 3307 Comm: syz-executor Tainted: G        W          6.12.0-syzkaller-09435-g2c22dc1ee3a1 #0
Tainted: [W]=WARN
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024
==================================================================

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/11/26 02:46 upstream 2c22dc1ee3a1 11dbc254 .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.