[moderation] [mm?] [fs?] KCSAN: data-race in fprop_reflect_period_percpu / fprop_reflect_period_percpu (8)

1 view
Skip to first unread message

syzbot

unread,
Dec 28, 2025, 10:45:21 PM (5 hours ago) Dec 28
to syzkaller-upst...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: c875a6c32467 Merge tag 'usb-6.19-rc3' of git://git.kernel...
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=17f5e49a580000
kernel config: https://syzkaller.appspot.com/x/.config?x=b319ff1b6a2797ca
dashboard link: https://syzkaller.appspot.com/bug?extid=858f7275b61aaf5e2679
compiler: Debian clang version 20.1.8 (++20250708063551+0c9f909b7976-1~exp1~20250708183702.136), Debian LLD 20.1.8
CC: [ak...@linux-foundation.org linux-...@vger.kernel.org linux-...@vger.kernel.org linu...@kvack.org wi...@infradead.org]

Unfortunately, I don't have any reproducer for this issue yet.

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/6a3ff5d2bc43/disk-c875a6c3.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/8bfefd608d99/vmlinux-c875a6c3.xz
kernel image: https://storage.googleapis.com/syzbot-assets/9c18f1ecad19/bzImage-c875a6c3.xz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+858f72...@syzkaller.appspotmail.com

loop6: detected capacity change from 0 to 512
EXT4-fs: Journaled quota options ignored when QUOTA feature is enabled
ext4 filesystem being mounted at /88/bus supports timestamps until 2038-01-19 (0x7fffffff)
==================================================================
BUG: KCSAN: data-race in fprop_reflect_period_percpu / fprop_reflect_period_percpu

write to 0xffff8881021791c8 of 4 bytes by task 4461 on cpu 0:
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 0xffff8881021791c8 of 4 bytes by task 26137 on cpu 1:
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
ext4_kill_sb+0x42/0x80 fs/ext4/super.c:7444
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: 0x0000006f -> 0x00000070

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 UID: 0 PID: 26137 Comm: syz.6.6602 Tainted: G W syzkaller #0 PREEMPT(voluntary)
Tainted: [W]=WARN
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/25/2025
==================================================================
loop6: detected capacity change from 0 to 512


---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzk...@googlegroups.com.

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title

If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)

If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report

If you want to undo deduplication, reply with:
#syz undup
Reply all
Reply to author
Forward
0 new messages