syzbot


KCSAN: data-race in wb_timer_fn / wbt_issue

Status: auto-closed as invalid on 2020/08/07 08:16
Subsystems: block
[Documentation on labels]
First crash: 1393d, last: 1393d
Similar bugs (3)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in wb_timer_fn / wbt_issue (2) block 2 1315d 1319d 0/26 auto-closed as invalid on 2020/10/24 23:26
upstream KCSAN: data-race in wb_timer_fn / wbt_issue (4) block 1 1216d 1216d 0/26 auto-closed as invalid on 2021/01/31 06:34
upstream KCSAN: data-race in wb_timer_fn / wbt_issue (3) block 1 1252d 1236d 0/26 auto-closed as invalid on 2020/12/27 00:57

Sample crash report:
==================================================================
BUG: KCSAN: data-race in wb_timer_fn / wbt_issue

write to 0xffff88812985df04 of 4 bytes by interrupt on cpu 1:
 calc_wb_limits block/blk-wbt.c:304 [inline]
 scale_up block/blk-wbt.c:313 [inline]
 wb_timer_fn+0x56a/0xa30 block/blk-wbt.c:374
 blk_stat_timer_fn+0x3f4/0x410 block/blk-stat.c:99
 call_timer_fn+0x30/0x2a0 kernel/time/timer.c:1404
 expire_timers+0x116/0x290 kernel/time/timer.c:1449
 __run_timers+0x443/0x500 kernel/time/timer.c:1773
 run_timer_softirq+0x2e/0x60 kernel/time/timer.c:1786
 __do_softirq+0x198/0x360 kernel/softirq.c:292
 asm_call_on_stack+0xf/0x20 arch/x86/entry/entry_64.S:711
 __run_on_irqstack arch/x86/include/asm/irq_stack.h:22 [inline]
 run_on_irqstack_cond arch/x86/include/asm/irq_stack.h:48 [inline]
 do_softirq_own_stack+0x5d/0x80 arch/x86/kernel/irq_64.c:77
 invoke_softirq kernel/softirq.c:387 [inline]
 __irq_exit_rcu+0x115/0x120 kernel/softirq.c:417
 sysvec_apic_timer_interrupt+0xba/0xd0 arch/x86/kernel/apic/apic.c:1091
 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:596
 arch_local_irq_restore arch/x86/include/asm/paravirt.h:765 [inline]
 kcsan_setup_watchpoint+0x47c/0x4d0 kernel/kcsan/core.c:542
 atime_needs_update+0x80/0x370 fs/inode.c:1801
 touch_atime+0x53/0x1a0 fs/inode.c:1828
 file_accessed include/linux/fs.h:2229 [inline]
 shmem_file_read_iter+0x62e/0x720 mm/shmem.c:2604
 call_read_iter include/linux/fs.h:1901 [inline]
 do_iter_readv_writev+0x33e/0x3c0 fs/read_write.c:692
 do_iter_read+0x10b/0x480 fs/read_write.c:934
 vfs_iter_read+0x4c/0x70 fs/read_write.c:976
 lo_read_simple drivers/block/loop.c:363 [inline]
 do_req_filebacked drivers/block/loop.c:638 [inline]
 loop_handle_cmd drivers/block/loop.c:2043 [inline]
 loop_queue_work+0xe0e/0x1440 drivers/block/loop.c:2060
 kthread_worker_fn+0x283/0x3b0 kernel/kthread.c:707
 loop_kthread_worker_fn+0x3e/0x50 drivers/block/loop.c:933
 kthread+0x20d/0x230 kernel/kthread.c:291
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:293

read to 0xffff88812985df04 of 4 bytes by task 3223 on cpu 0:
 rwb_enabled block/blk-wbt.c:80 [inline]
 wbt_issue+0x20/0xd0 block/blk-wbt.c:599
 __rq_qos_issue+0x3b/0x70 block/blk-rq-qos.c:54
 rq_qos_issue block/blk-rq-qos.h:159 [inline]
 blk_mq_start_request+0xd2/0x260 block/blk-mq.c:698
 loop_queue_rq+0x3c/0x220 drivers/block/loop.c:2002
 blk_mq_dispatch_rq_list+0x5d1/0xd70 block/blk-mq.c:1277
 blk_mq_do_dispatch_sched+0x1f6/0x2b0 block/blk-mq-sched.c:134
 __blk_mq_sched_dispatch_requests+0x20f/0x2b0 block/blk-mq-sched.c:245
 blk_mq_sched_dispatch_requests+0x9f/0x110 block/blk-mq-sched.c:276
 __blk_mq_run_hw_queue+0xee/0x1c0 block/blk-mq.c:1418
 blk_mq_run_work_fn+0x3d/0x50 block/blk-mq.c:1696
 process_one_work+0x3e1/0x9a0 kernel/workqueue.c:2269
 worker_thread+0x665/0xbe0 kernel/workqueue.c:2415
 kthread+0x20d/0x230 kernel/kthread.c:291
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:293

Reported by Kernel Concurrency Sanitizer on:
CPU: 0 PID: 3223 Comm: kworker/0:1H Not tainted 5.8.0-rc3-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Workqueue: kblockd blk_mq_run_work_fn
==================================================================

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2020/07/03 08:08 upstream 7cc2a8ea1048 f30c14bf .config console log report ci2-upstream-kcsan-gce
* Struck through repros no longer work on HEAD.