syzbot


KCSAN: data-race in fprop_new_period / fprop_reflect_period_percpu (3)

Status: auto-closed as invalid on 2021/03/11 15:36
Subsystems: fs mm
[Documentation on labels]
First crash: 1376d, last: 1344d
Similar bugs (10)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in fprop_new_period / fprop_reflect_period_percpu (7) fs mm 5 839d 919d 0/28 auto-closed as invalid on 2022/07/28 18:16
upstream KCSAN: data-race in fprop_new_period / fprop_reflect_period_percpu (2) fs mm 2 1422d 1403d 0/28 auto-closed as invalid on 2020/12/23 11:14
upstream KCSAN: data-race in fprop_new_period / fprop_reflect_period_percpu (5) fs mm 2 1167d 1168d 0/28 auto-closed as invalid on 2021/09/04 07:15
upstream KCSAN: data-race in fprop_new_period / fprop_reflect_period_percpu (6) fs mm 1 958d 958d 0/28 auto-closed as invalid on 2022/04/01 06:25
upstream KCSAN: data-race in fprop_new_period / fprop_reflect_period_percpu (9) fs mm 8 428d 510d 0/28 auto-obsoleted due to no activity on 2023/09/13 06:09
upstream KCSAN: data-race in fprop_new_period / fprop_reflect_period_percpu (8) fs mm 20 554d 754d 0/28 auto-obsoleted due to no activity on 2023/05/10 03:18
upstream KCSAN: data-race in fprop_new_period / fprop_reflect_period_percpu (11) fs mm 1 102d 102d 0/28 auto-obsoleted due to no activity on 2024/08/04 03:47
upstream KCSAN: data-race in fprop_new_period / fprop_reflect_period_percpu fs mm 1 1491d 1491d 0/28 auto-closed as invalid on 2020/10/15 13:11
upstream KCSAN: data-race in fprop_new_period / fprop_reflect_period_percpu (4) mm fs 3 1231d 1299d 0/28 auto-closed as invalid on 2021/07/02 00:21
upstream KCSAN: data-race in fprop_new_period / fprop_reflect_period_percpu (10) fs mm 31 145d 305d 0/28 auto-obsoleted due to no activity on 2024/06/22 10:03

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

write to 0xffffffff88d274d0 of 4 bytes by interrupt on cpu 0:
 fprop_new_period+0xf3/0x150 lib/flex_proportions.c:83
 writeout_period+0x55/0xe0 mm/page-writeback.c:628
 call_timer_fn+0x2e/0x240 kernel/time/timer.c:1417
 expire_timers+0x116/0x260 kernel/time/timer.c:1462
 __run_timers+0x358/0x3f0 kernel/time/timer.c:1731
 run_timer_softirq+0x2d/0x30 kernel/time/timer.c:1746
 __do_softirq+0x13c/0x2c3 kernel/softirq.c:343
 asm_call_irq_on_stack+0xf/0x20
 __run_on_irqstack arch/x86/include/asm/irq_stack.h:26 [inline]
 run_on_irqstack_cond arch/x86/include/asm/irq_stack.h:77 [inline]
 do_softirq_own_stack+0x32/0x40 arch/x86/kernel/irq_64.c:77
 invoke_softirq kernel/softirq.c:226 [inline]
 __irq_exit_rcu+0xb4/0xc0 kernel/softirq.c:420
 sysvec_apic_timer_interrupt+0x74/0x90 arch/x86/kernel/apic/apic.c:1096
 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:629
 __sanitizer_cov_trace_pc+0x0/0x60
 tomoyo_domain_quota_is_ok+0xfb/0x2d0 security/tomoyo/util.c:1071
 tomoyo_supervisor+0x1f4/0xb40 security/tomoyo/common.c:2089
 tomoyo_audit_path_log security/tomoyo/file.c:168 [inline]
 tomoyo_path_permission security/tomoyo/file.c:587 [inline]
 tomoyo_path_perm+0x261/0x330 security/tomoyo/file.c:838
 tomoyo_inode_getattr+0x18/0x20 security/tomoyo/tomoyo.c:123
 security_inode_getattr+0x7f/0xd0 security/security.c:1280
 vfs_getattr fs/stat.c:121 [inline]
 vfs_statx+0xf8/0x290 fs/stat.c:189
 vfs_fstatat fs/stat.c:207 [inline]
 vfs_lstat include/linux/fs.h:3122 [inline]
 __do_sys_newlstat fs/stat.c:362 [inline]
 __se_sys_newlstat+0x46/0x250 fs/stat.c:356
 __x64_sys_newlstat+0x2d/0x40 fs/stat.c:356
 do_syscall_64+0x39/0x80 arch/x86/entry/common.c:46
 entry_SYSCALL_64_after_hwframe+0x44/0xa9

read to 0xffffffff88d274d0 of 4 bytes by task 24 on cpu 1:
 fprop_reflect_period_percpu+0x22/0x1a0 lib/flex_proportions.c:192
 __fprop_inc_percpu lib/flex_proportions.c:222 [inline]
 __fprop_inc_percpu_max+0x3f/0x1f0 lib/flex_proportions.c:271
 wb_domain_writeout_inc mm/page-writeback.c:575 [inline]
 __wb_writeout_inc+0x7b/0x1c0 mm/page-writeback.c:599
 test_clear_page_writeback+0x3a4/0x520 mm/page-writeback.c:2745
 end_page_writeback+0xd7/0x260 mm/filemap.c:1494
 ext4_finish_bio+0x429/0x480 fs/ext4/page-io.c:143
 ext4_release_io_end+0x98/0x200 fs/ext4/page-io.c:158
 ext4_end_io_end fs/ext4/page-io.c:192 [inline]
 ext4_do_flush_completed_IO fs/ext4/page-io.c:257 [inline]
 ext4_end_io_rsv_work+0x306/0x360 fs/ext4/page-io.c:271
 process_one_work+0x3e1/0x950 kernel/workqueue.c:2275
 worker_thread+0x616/0xa70 kernel/workqueue.c:2421
 kthread+0x20b/0x230 kernel/kthread.c:292
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:296

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 PID: 24 Comm: kworker/u4:1 Not tainted 5.11.0-rc6-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Workqueue: ext4-rsv-conversion ext4_end_io_rsv_work
==================================================================

Crashes (2):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2021/02/04 15:29 upstream 61556703b610 42b90a7c .config console log report info ci2-upstream-kcsan-gce KCSAN: data-race in fprop_new_period / fprop_reflect_period_percpu
2021/01/03 15:51 upstream 3516bd729358 79264ae3 .config console log report info ci2-upstream-kcsan-gce
* Struck through repros no longer work on HEAD.