syzbot


KCSAN: data-race in fprop_reflect_period_percpu / fprop_reflect_period_percpu (8)

Status: moderation: reported on 2025/12/29 03:45
Subsystems: mm fs
[Documentation on labels]
Reported-by: syzbot+858f7275b61aaf5e2679@syzkaller.appspotmail.com
First crash: 14d, last: 13d
Similar bugs (7)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in fprop_reflect_period_percpu / fprop_reflect_period_percpu (3) fs mm 6 3 1664d 1697d 0/29 auto-closed as invalid on 2021/07/27 20:37
upstream KCSAN: data-race in fprop_reflect_period_percpu / fprop_reflect_period_percpu (5) fs mm 6 1 958d 958d 0/29 auto-obsoleted due to no activity on 2023/07/03 22:15
upstream KCSAN: data-race in fprop_reflect_period_percpu / fprop_reflect_period_percpu (4) mm fs 6 1 1607d 1607d 0/29 auto-closed as invalid on 2021/09/23 01:41
upstream KCSAN: data-race in fprop_reflect_period_percpu / fprop_reflect_period_percpu (6) fs mm 6 1 567d 567d 0/29 auto-obsoleted due to no activity on 2024/07/29 11:04
upstream KCSAN: data-race in fprop_reflect_period_percpu / fprop_reflect_period_percpu (2) fs mm 6 1 1848d 1848d 0/29 auto-closed as invalid on 2021/01/25 01:30
upstream KCSAN: data-race in fprop_reflect_period_percpu / fprop_reflect_period_percpu mm fs 6 1 1904d 1904d 0/29 auto-closed as invalid on 2020/11/29 19:57
upstream KCSAN: data-race in fprop_reflect_period_percpu / fprop_reflect_period_percpu (7) fs mm 6 3 311d 350d 0/29 auto-obsoleted due to no activity on 2025/05/02 12:27

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

write to 0xffff8881021bb1c8 of 4 bytes by task 874 on cpu 1:
 fprop_reflect_period_percpu+0x161/0x190 lib/flex_proportions.c:134
 fprop_fraction_percpu+0x77/0x150 lib/flex_proportions.c:156
 __wb_calc_thresh+0x89/0x2d0 mm/page-writeback.c:913
 wb_bg_dirty_limits mm/page-writeback.c:2130 [inline]
 domain_over_bg_thresh+0x225/0x300 mm/page-writeback.c:2144
 wb_over_bg_thresh+0xac/0x100 mm/page-writeback.c:2165
 wb_check_background_flush fs/fs-writeback.c:2278 [inline]
 wb_do_writeback fs/fs-writeback.c:2376 [inline]
 wb_workfn+0x630/0x910 fs/fs-writeback.c:2403
 process_one_work kernel/workqueue.c:3257 [inline]
 process_scheduled_works+0x4ce/0x9d0 kernel/workqueue.c:3340
 worker_thread+0x582/0x770 kernel/workqueue.c:3421
 kthread+0x489/0x510 kernel/kthread.c:463
 ret_from_fork+0x149/0x290 arch/x86/kernel/process.c:158
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:246

read to 0xffff8881021bb1c8 of 4 bytes by task 6622 on cpu 0:
 fprop_reflect_period_percpu+0x31/0x190 lib/flex_proportions.c:115
 __fprop_add_percpu lib/flex_proportions.c:142 [inline]
 __fprop_add_percpu_max+0x57/0x190 lib/flex_proportions.c:200
 wb_domain_writeout_add mm/page-writeback.c:562 [inline]
 __wb_writeout_add+0x75/0x1b0 mm/page-writeback.c:586
 __folio_end_writeback+0x14b/0x360 mm/page-writeback.c:2997
 folio_end_writeback_no_dropbehind+0x6d/0x1b0 mm/filemap.c:1661
 folio_end_writeback+0x1c/0x70 mm/filemap.c:1687
 __block_write_full_folio+0x5f3/0x8f0 fs/buffer.c:1949
 block_write_full_folio+0x2c1/0x2e0 fs/buffer.c:-1
 blkdev_writepages+0x88/0x100 block/fops.c:487
 do_writepages+0x1c6/0x310 mm/page-writeback.c:2598
 filemap_writeback mm/filemap.c:387 [inline]
 filemap_flush_range mm/filemap.c:436 [inline]
 filemap_flush+0xe4/0x120 mm/filemap.c:451
 sync_blockdev_nowait+0x29/0x40 block/bdev.c:265
 sync_filesystem+0xe2/0x190 fs/sync.c:60
 generic_shutdown_super+0x44/0x210 fs/super.c:622
 kill_block_super+0x2a/0x70 fs/super.c:1722
 deactivate_locked_super+0x75/0x1c0 fs/super.c:474
 deactivate_super+0x97/0xa0 fs/super.c:507
 cleanup_mnt+0x2a9/0x320 fs/namespace.c:1318
 __cleanup_mnt+0x19/0x20 fs/namespace.c:1325
 task_work_run+0x131/0x1a0 kernel/task_work.c:233
 resume_user_mode_work include/linux/resume_user_mode.h:50 [inline]
 __exit_to_user_mode_loop kernel/entry/common.c:44 [inline]
 exit_to_user_mode_loop+0x1fe/0x740 kernel/entry/common.c:75
 __exit_to_user_mode_prepare include/linux/irq-entry-common.h:226 [inline]
 syscall_exit_to_user_mode_prepare include/linux/irq-entry-common.h:256 [inline]
 syscall_exit_to_user_mode_work include/linux/entry-common.h:159 [inline]
 syscall_exit_to_user_mode include/linux/entry-common.h:194 [inline]
 do_syscall_64+0x1e1/0x2b0 arch/x86/entry/syscall_64.c:100
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

value changed: 0x00000019 -> 0x0000001a

Reported by Kernel Concurrency Sanitizer on:
CPU: 0 UID: 0 PID: 6622 Comm: syz-executor Not tainted syzkaller #0 PREEMPT(voluntary) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/25/2025
==================================================================

Crashes (2):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/12/30 11:38 upstream 8640b74557fc d6526ea3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in fprop_reflect_period_percpu / fprop_reflect_period_percpu
2025/12/29 03:45 upstream c875a6c32467 d6526ea3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in fprop_reflect_period_percpu / fprop_reflect_period_percpu
* Struck through repros no longer work on HEAD.