syzbot


KCSAN: data-race in __wb_update_bandwidth / percpu_counter_add_batch (8)

Status: moderation: reported on 2024/08/08 05:35
Subsystems: fs mm
[Documentation on labels]
Reported-by: syzbot+ad9fdf192618c517ab9d@syzkaller.appspotmail.com
First crash: 35d, last: 16d
Similar bugs (7)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in __wb_update_bandwidth / percpu_counter_add_batch (3) fs mm 2 1361d 1375d 0/27 auto-closed as invalid on 2021/01/24 22:24
upstream KCSAN: data-race in __wb_update_bandwidth / percpu_counter_add_batch (7) fs mm 295 72d 280d 0/27 auto-obsoleted due to no activity on 2024/08/05 19:12
upstream KCSAN: data-race in __wb_update_bandwidth / percpu_counter_add_batch (5) fs mm 3 1138d 1172d 0/27 auto-closed as invalid on 2021/09/04 14:56
upstream KCSAN: data-race in __wb_update_bandwidth / percpu_counter_add_batch (4) fs mm 6 1217d 1316d 0/27 auto-closed as invalid on 2021/06/18 08:34
upstream KCSAN: data-race in __wb_update_bandwidth / percpu_counter_add_batch (6) fs mm 17 1023d 1099d 0/27 auto-closed as invalid on 2021/12/29 06:33
upstream KCSAN: data-race in __wb_update_bandwidth / percpu_counter_add_batch (2) fs mm 3 1439d 1477d 0/27 auto-closed as invalid on 2020/11/08 10:33
upstream KCSAN: data-race in __wb_update_bandwidth / percpu_counter_add_batch mm fs 9 1581d 1740d 0/27 closed as invalid on 2020/06/18 14:24

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

read-write to 0xffff8881011ee920 of 8 bytes by task 4474 on cpu 0:
 percpu_counter_add_batch+0x120/0x140 lib/percpu_counter.c:107
 wb_stat_mod include/linux/backing-dev.h:66 [inline]
 folio_account_dirtied mm/page-writeback.c:2749 [inline]
 __folio_mark_dirty+0x27f/0x4e0 mm/page-writeback.c:2797
 mark_buffer_dirty+0x134/0x230 fs/buffer.c:1205
 __block_commit_write fs/buffer.c:2199 [inline]
 block_write_end+0x16d/0x300 fs/buffer.c:2275
 ext4_write_end+0x177/0x820 fs/ext4/inode.c:1318
 ext4_da_write_end+0xa8/0x860 fs/ext4/inode.c:3090
 generic_perform_write+0x36e/0x580 mm/filemap.c:4035
 ext4_buffered_write_iter+0x1f6/0x380 fs/ext4/file.c:299
 ext4_file_write_iter+0x29f/0xe30
 do_iter_readv_writev+0x3b0/0x470
 vfs_writev+0x2e0/0x880 fs/read_write.c:971
 do_pwritev fs/read_write.c:1072 [inline]
 __do_sys_pwritev2 fs/read_write.c:1131 [inline]
 __se_sys_pwritev2+0x10c/0x1d0 fs/read_write.c:1122
 __x64_sys_pwritev2+0x78/0x90 fs/read_write.c:1122
 x64_sys_call+0x271f/0x2d60 arch/x86/include/generated/asm/syscalls_64.h:329
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xc9/0x1c0 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

read to 0xffff8881011ee920 of 8 bytes by task 3282 on cpu 1:
 percpu_counter_read include/linux/percpu_counter.h:110 [inline]
 __wb_update_bandwidth+0x83/0x5d0 mm/page-writeback.c:1528
 wb_update_bandwidth+0x55/0x80 mm/page-writeback.c:1556
 wb_update_bandwidth_workfn+0x1c/0x30 mm/backing-dev.c:507
 process_one_work kernel/workqueue.c:3231 [inline]
 process_scheduled_works+0x483/0x9a0 kernel/workqueue.c:3312
 worker_thread+0x526/0x6e0 kernel/workqueue.c:3389
 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

value changed: 0x0000000000000030 -> 0x0000000000000040

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 UID: 0 PID: 3282 Comm: kworker/u8:6 Not tainted 6.11.0-rc5-syzkaller-00015-g3e9bff3bbe13 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/06/2024
Workqueue: writeback wb_update_bandwidth_workfn
==================================================================

Crashes (3):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/08/27 09:48 upstream 3e9bff3bbe13 9aee4e0b .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __wb_update_bandwidth / percpu_counter_add_batch
2024/08/15 17:41 upstream 1fb918967b56 e4bacdaf .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __wb_update_bandwidth / percpu_counter_add_batch
2024/08/08 05:34 upstream 6a0e38264012 de12cf65 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __wb_update_bandwidth / percpu_counter_add_batch
* Struck through repros no longer work on HEAD.