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

0 views
Skip to first unread message

syzbot

unread,
12:17 PM (10 hours ago) 12:17 PM
to syzkaller-upst...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: 3aae9383f42f Merge tag 'input-for-v7.0-rc6' of git://git.k..
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=10eecdda580000
kernel config: https://syzkaller.appspot.com/x/.config?x=3a78dd265deac3a9
dashboard link: https://syzkaller.appspot.com/bug?extid=23bd3ea337c0351484aa
compiler: Debian clang version 21.1.8 (++20251221033036+2078da43e25a-1~exp1~20251221153213.50), Debian LLD 21.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/07fe9509d38c/disk-3aae9383.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/970b07a6aa94/vmlinux-3aae9383.xz
kernel image: https://storage.googleapis.com/syzbot-assets/3a223852c43d/bzImage-3aae9383.xz

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

==================================================================
BUG: KCSAN: data-race in fprop_reflect_period_percpu / fprop_reflect_period_percpu

write to 0xffff888100b159c8 of 4 bytes by task 5216 on cpu 1:
fprop_reflect_period_percpu+0x161/0x190 lib/flex_proportions.c:135
fprop_fraction_percpu+0x77/0x150 lib/flex_proportions.c:157
__wb_calc_thresh+0x89/0x2d0 mm/page-writeback.c:905
wb_bg_dirty_limits mm/page-writeback.c:2108 [inline]
domain_over_bg_thresh mm/page-writeback.c:2122 [inline]
wb_over_bg_thresh+0x222/0x530 mm/page-writeback.c:2143
wb_check_background_flush fs/fs-writeback.c:2301 [inline]
wb_do_writeback fs/fs-writeback.c:2399 [inline]
wb_workfn+0x690/0x970 fs/fs-writeback.c:2426
process_one_work kernel/workqueue.c:3276 [inline]
process_scheduled_works+0x513/0xa10 kernel/workqueue.c:3359
worker_thread+0x58a/0x780 kernel/workqueue.c:3440
kthread+0x22a/0x280 kernel/kthread.c:436
ret_from_fork+0x150/0x360 arch/x86/kernel/process.c:158
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245

read to 0xffff888100b159c8 of 4 bytes by task 6848 on cpu 0:
fprop_reflect_period_percpu+0x31/0x190 lib/flex_proportions.c:116
__fprop_add_percpu lib/flex_proportions.c:143 [inline]
__fprop_add_percpu_max+0x57/0x190 lib/flex_proportions.c:201
wb_domain_writeout_add mm/page-writeback.c:554 [inline]
__wb_writeout_add+0x75/0x1b0 mm/page-writeback.c:578
__folio_end_writeback+0x14b/0x360 mm/page-writeback.c:2953
folio_end_writeback_no_dropbehind+0x6d/0x1d0 mm/filemap.c:1666
folio_end_writeback+0x1c/0x70 mm/filemap.c:1692
__block_write_full_folio+0x5f3/0x8f0 fs/buffer.c:1946
block_write_full_folio+0x2c1/0x2e0 fs/buffer.c:-1
blkdev_writepages+0x88/0x100 block/fops.c:486
do_writepages+0x1c6/0x310 mm/page-writeback.c:2554
filemap_writeback mm/filemap.c:387 [inline]
filemap_flush_range mm/filemap.c:436 [inline]
filemap_flush+0xee/0x130 mm/filemap.c:451
sync_blockdev_nowait+0x29/0x40 block/bdev.c:264
sync_filesystem+0xe2/0x190 fs/sync.c:60
generic_shutdown_super+0x4c/0x220 fs/super.c:625
kill_block_super+0x2a/0x70 fs/super.c:1725
ext4_kill_sb+0x42/0x80 fs/ext4/super.c:7484
deactivate_locked_super+0x75/0x1c0 fs/super.c:476
deactivate_super+0x97/0xa0 fs/super.c:509
cleanup_mnt+0x2bb/0x330 fs/namespace.c:1312
__cleanup_mnt+0x19/0x20 fs/namespace.c:1319
task_work_run+0x130/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:67 [inline]
exit_to_user_mode_loop+0x1f4/0x6f0 kernel/entry/common.c:98
__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 include/linux/entry-common.h:325 [inline]
do_syscall_64+0x249/0x370 arch/x86/entry/syscall_64.c:100
entry_SYSCALL_64_after_hwframe+0x77/0x7f

value changed: 0x0000002b -> 0x0000002c

Reported by Kernel Concurrency Sanitizer on:
CPU: 0 UID: 0 PID: 6848 Comm: syz-executor Tainted: G W syzkaller #0 PREEMPT(full)
Tainted: [W]=WARN
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/18/2026
==================================================================
EXT4-fs (loop7): unmounting filesystem 76b65be2-f6da-4727-8c75-0525a5b65a09.


---
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