================================================================== BUG: KCSAN: data-race in wb_timer_fn / wbt_inflight_cb write to 0xffff8881294da404 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:1415 expire_timers+0x116/0x290 kernel/time/timer.c:1460 __run_timers+0x443/0x500 kernel/time/timer.c:1784 run_timer_softirq+0x2e/0x60 kernel/time/timer.c:1797 __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:585 arch_local_irq_restore arch/x86/include/asm/paravirt.h:770 [inline] __raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:160 [inline] _raw_spin_unlock_irqrestore+0x44/0x70 kernel/locking/spinlock.c:191 spin_unlock_irqrestore include/linux/spinlock.h:408 [inline] __test_set_page_writeback+0x3cd/0x480 mm/page-writeback.c:2811 ext4_bio_write_page+0xed/0xda0 fs/ext4/page-io.c:451 mpage_submit_page fs/ext4/inode.c:2082 [inline] mpage_process_page_bufs+0x4f5/0x600 fs/ext4/inode.c:2196 mpage_prepare_extent_to_map+0x4ec/0x650 fs/ext4/inode.c:2608 ext4_writepages+0x682/0x1ef0 fs/ext4/inode.c:2736 do_writepages+0x7b/0x150 mm/page-writeback.c:2354 __filemap_fdatawrite_range+0x19b/0x1d0 mm/filemap.c:421 file_write_and_wait_range+0x9f/0x120 mm/filemap.c:760 ext4_sync_file+0xfc/0x6e0 fs/ext4/fsync.c:151 vfs_fsync_range+0x107/0x120 fs/sync.c:200 generic_write_sync include/linux/fs.h:2882 [inline] ext4_buffered_write_iter+0x369/0x3b0 fs/ext4/file.c:277 ext4_file_write_iter+0x76f/0x1010 include/linux/fs.h:805 call_write_iter include/linux/fs.h:1908 [inline] do_iter_readv_writev+0x321/0x3c0 fs/read_write.c:713 do_iter_write+0x10e/0x470 fs/read_write.c:1018 vfs_iter_write+0x4c/0x70 fs/read_write.c:1059 iter_file_splice_write+0x41a/0x770 fs/splice.c:750 do_splice_from fs/splice.c:846 [inline] direct_splice_actor+0x95/0x160 fs/splice.c:1016 splice_direct_to_actor+0x365/0x660 fs/splice.c:971 do_splice_direct+0xf2/0x170 fs/splice.c:1059 do_sendfile+0x562/0xb10 fs/read_write.c:1540 __do_sys_sendfile64 fs/read_write.c:1595 [inline] __se_sys_sendfile64 fs/read_write.c:1587 [inline] __x64_sys_sendfile64+0xa9/0x130 fs/read_write.c:1587 do_syscall_64+0x51/0xb0 arch/x86/entry/common.c:384 entry_SYSCALL_64_after_hwframe+0x44/0xa9 read to 0xffff8881294da404 of 4 bytes by task 18686 on cpu 0: rwb_enabled block/blk-wbt.c:80 [inline] get_limit block/blk-wbt.c:458 [inline] wbt_inflight_cb+0x3f/0x220 block/blk-wbt.c:495 rq_qos_wait+0xac/0x220 block/blk-rq-qos.c:266 __wbt_wait block/blk-wbt.c:518 [inline] wbt_wait+0x1bb/0x2b0 block/blk-wbt.c:583 __rq_qos_throttle+0x39/0x70 block/blk-rq-qos.c:72 rq_qos_throttle block/blk-rq-qos.h:182 [inline] blk_mq_make_request+0x234/0x1070 block/blk-mq.c:2050 do_make_request block/blk-core.c:1084 [inline] generic_make_request+0x240/0x5d0 block/blk-core.c:1156 submit_bio+0x200/0x370 block/blk-core.c:1275 ext4_io_submit+0xcd/0xf0 fs/ext4/page-io.c:382 ext4_writepages+0x69c/0x1ef0 fs/ext4/inode.c:2740 do_writepages+0x7b/0x150 mm/page-writeback.c:2354 __filemap_fdatawrite_range+0x19b/0x1d0 mm/filemap.c:421 filemap_write_and_wait_range+0x8b/0x2a0 mm/filemap.c:654 iomap_dio_rw+0x399/0x8c0 fs/iomap/direct-io.c:474 ext4_dio_write_iter fs/ext4/file.c:545 [inline] ext4_file_write_iter+0xda4/0x1010 fs/ext4/file.c:653 call_write_iter include/linux/fs.h:1908 [inline] do_iter_readv_writev+0x321/0x3c0 fs/read_write.c:713 do_iter_write+0x10e/0x470 fs/read_write.c:1018 vfs_iter_write+0x4c/0x70 fs/read_write.c:1059 iter_file_splice_write+0x41a/0x770 fs/splice.c:750 do_splice_from fs/splice.c:846 [inline] direct_splice_actor+0x95/0x160 fs/splice.c:1016 splice_direct_to_actor+0x365/0x660 fs/splice.c:971 do_splice_direct+0xf2/0x170 fs/splice.c:1059 do_sendfile+0x562/0xb10 fs/read_write.c:1540 __do_sys_sendfile64 fs/read_write.c:1601 [inline] __se_sys_sendfile64 fs/read_write.c:1587 [inline] __x64_sys_sendfile64+0xf2/0x130 fs/read_write.c:1587 do_syscall_64+0x51/0xb0 arch/x86/entry/common.c:384 entry_SYSCALL_64_after_hwframe+0x44/0xa9 Reported by Kernel Concurrency Sanitizer on: CPU: 0 PID: 18686 Comm: syz-executor.4 Not tainted 5.8.0-rc6-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 ==================================================================