syzbot


KCSAN: data-race in calc_wb_limits.part.0 / wbt_inflight_cb

Status: auto-closed as invalid on 2020/03/16 21:06
Subsystems: block
[Documentation on labels]
First crash: 2206d, last: 2206d
Similar bugs (1)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in calc_wb_limits.part.0 / wbt_inflight_cb (2) block 6 1 2075d 2075d 0/29 closed as invalid on 2020/06/18 14:13

Sample crash report:
==================================================================
BUG: KCSAN: data-race in calc_wb_limits.part.0 / wbt_inflight_cb

write to 0xffff88821aa4dd04 of 4 bytes by interrupt on cpu 1:
 calc_wb_limits.part.0+0x7b/0xb0 block/blk-wbt.c:304
 calc_wb_limits block/blk-wbt.c:298 [inline]
 scale_up block/blk-wbt.c:313 [inline]
 scale_up+0x7f/0x250 block/blk-wbt.c:309
 wb_timer_fn+0x2cd/0xad0 block/blk-wbt.c:393
 blk_stat_timer_fn+0x3b0/0x3d0 block/blk-stat.c:99
 call_timer_fn+0x5f/0x2f0 kernel/time/timer.c:1404
 expire_timers kernel/time/timer.c:1449 [inline]
 __run_timers kernel/time/timer.c:1773 [inline]
 __run_timers kernel/time/timer.c:1740 [inline]
 run_timer_softirq+0xc0c/0xcd0 kernel/time/timer.c:1786
 __do_softirq+0x115/0x33f kernel/softirq.c:292
 invoke_softirq kernel/softirq.c:373 [inline]
 irq_exit+0xbb/0xe0 kernel/softirq.c:413
 exiting_irq arch/x86/include/asm/apic.h:536 [inline]
 smp_apic_timer_interrupt+0xe6/0x280 arch/x86/kernel/apic/apic.c:1137
 apic_timer_interrupt+0xf/0x20 arch/x86/entry/entry_64.S:829
 arch_local_irq_enable arch/x86/include/asm/paravirt.h:762 [inline]
 preempt_schedule_irq+0x4d/0x90 kernel/sched/core.c:4337
 restore_regs_and_return_to_kernel+0x0/0x25
 put_timespec64+0x33/0xc0 kernel/time/time.c:899
 __do_sys_clock_gettime kernel/time/posix-timers.c:1072 [inline]
 __se_sys_clock_gettime kernel/time/posix-timers.c:1060 [inline]
 __x64_sys_clock_gettime+0x102/0x170 kernel/time/posix-timers.c:1060
 do_syscall_64+0xcc/0x3a0 arch/x86/entry/common.c:294
 entry_SYSCALL_64_after_hwframe+0x44/0xa9

read to 0xffff88821aa4dd04 of 4 bytes by task 157 on cpu 0:
 rwb_enabled block/blk-wbt.c:80 [inline]
 get_limit block/blk-wbt.c:466 [inline]
 wbt_inflight_cb+0x4d/0x230 block/blk-wbt.c:503
 rq_qos_wait+0x283/0x320 block/blk-rq-qos.c:266
 __wbt_wait block/blk-wbt.c:526 [inline]
 wbt_wait+0x161/0x250 block/blk-wbt.c:591
 __rq_qos_throttle+0x47/0x70 block/blk-rq-qos.c:72
 rq_qos_throttle block/blk-rq-qos.h:182 [inline]
 blk_mq_make_request+0x29c/0xf60 block/blk-mq.c:1932
 generic_make_request block/blk-core.c:1066 [inline]
 generic_make_request+0x196/0x700 block/blk-core.c:1008
 submit_bio+0x96/0x3c0 block/blk-core.c:1192
 submit_bh_wbc+0x40f/0x460 fs/buffer.c:3135
 __block_write_full_page+0x4e9/0x870 fs/buffer.c:1807
 block_write_full_page+0x1c0/0x1e0 fs/buffer.c:2993
 fat_writepage+0x2e/0x40 fs/fat/inode.c:198
 __mpage_writepage+0x837/0xe70 fs/mpage.c:678
 write_cache_pages+0x47a/0xb40 mm/page-writeback.c:2238
 mpage_writepages+0xab/0x180 fs/mpage.c:730
 fat_writepages+0x2e/0x40 fs/fat/inode.c:204
 do_writepages+0x6b/0x170 mm/page-writeback.c:2344
 __writeback_single_inode+0xaf/0x8e0 fs/fs-writeback.c:1452
 writeback_sb_inodes+0x4ba/0xa50 fs/fs-writeback.c:1716
 wb_writeback+0x1f9/0x6a0 fs/fs-writeback.c:1892
 wb_do_writeback fs/fs-writeback.c:2037 [inline]
 wb_workfn+0x22e/0x970 fs/fs-writeback.c:2078
 process_one_work+0x3d4/0x890 kernel/workqueue.c:2264
 worker_thread+0xa0/0x800 kernel/workqueue.c:2410
 kthread+0x1d4/0x200 drivers/block/aoe/aoecmd.c:1253
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:352

Reported by Kernel Concurrency Sanitizer on:
CPU: 0 PID: 157 Comm: kworker/u4:2 Not tainted 5.5.0-rc1-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Workqueue: writeback wb_workfn (flush-7:4)
==================================================================

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2020/01/06 21:00 https://github.com/google/ktsan.git kcsan 245a43005292 53430d97 .config console log report ci2-upstream-kcsan-gce
* Struck through repros no longer work on HEAD.