================================================================== BUG: KCSAN: data-race in wb_timer_fn / wbt_track write to 0xffff8881036cc104 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+0x54a/0xa00 block/blk-wbt.c:374 blk_stat_timer_fn+0x3f4/0x410 block/blk-stat.c:99 call_timer_fn+0x2e/0x240 kernel/time/timer.c:1410 expire_timers+0x116/0x260 kernel/time/timer.c:1455 __run_timers+0x338/0x3d0 kernel/time/timer.c:1747 run_timer_softirq+0x19/0x30 kernel/time/timer.c:1760 __do_softirq+0x12c/0x2b1 kernel/softirq.c:298 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:393 [inline] __irq_exit_rcu+0xb2/0xc0 kernel/softirq.c:423 sysvec_apic_timer_interrupt+0x74/0x90 arch/x86/kernel/apic/apic.c:1091 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:631 compound_head include/linux/page-flags.h:187 [inline] PageSwapCache include/linux/page-flags.h:400 [inline] free_swap_cache mm/swap_state.c:326 [inline] free_pages_and_swap_cache+0x6e/0x1f0 mm/swap_state.c:354 tlb_batch_pages_flush mm/mmu_gather.c:49 [inline] tlb_flush_mmu_free mm/mmu_gather.c:242 [inline] tlb_flush_mmu+0x597/0x5f0 mm/mmu_gather.c:249 zap_pte_range+0x1134/0x13c0 mm/memory.c:1319 zap_pmd_range mm/memory.c:1357 [inline] zap_pud_range mm/memory.c:1386 [inline] zap_p4d_range mm/memory.c:1407 [inline] unmap_page_range+0x560/0x660 mm/memory.c:1428 unmap_single_vma+0x157/0x210 mm/memory.c:1473 unmap_vmas+0xbf/0x150 mm/memory.c:1505 exit_mmap+0x1c7/0x3b0 mm/mmap.c:3222 __mmput+0xa2/0x220 kernel/fork.c:1079 mmput+0x38/0x40 kernel/fork.c:1100 exit_mm+0x307/0x370 kernel/exit.c:486 do_exit+0x3c8/0x1630 kernel/exit.c:796 do_group_exit+0xc8/0x170 kernel/exit.c:906 get_signal+0xf9b/0x1510 kernel/signal.c:2758 arch_do_signal+0x25/0x260 arch/x86/kernel/signal.c:811 exit_to_user_mode_loop kernel/entry/common.c:161 [inline] exit_to_user_mode_prepare+0xde/0x170 kernel/entry/common.c:191 syscall_exit_to_user_mode+0x16/0x30 kernel/entry/common.c:266 do_syscall_64+0x45/0x80 arch/x86/entry/common.c:56 entry_SYSCALL_64_after_hwframe+0x44/0xa9 read to 0xffff8881036cc104 of 4 bytes by task 10429 on cpu 0: rwb_enabled block/blk-wbt.c:80 [inline] bio_to_wbt_flags block/blk-wbt.c:543 [inline] wbt_track+0x23/0x130 block/blk-wbt.c:592 __rq_qos_track+0x50/0x90 block/blk-rq-qos.c:81 rq_qos_track block/blk-rq-qos.h:189 [inline] blk_mq_submit_bio+0x2c0/0x1020 block/blk-mq.c:2187 __submit_bio_noacct_mq block/blk-core.c:1026 [inline] submit_bio_noacct+0x77d/0x930 block/blk-core.c:1059 submit_bio+0x1f3/0x360 block/blk-core.c:1129 ext4_mpage_readpages+0x131c/0x1360 fs/ext4/readpage.c:412 ext4_readahead+0x99/0xa0 fs/ext4/inode.c:3252 read_pages+0xa0/0x6e0 mm/readahead.c:130 page_cache_ra_unbounded+0x464/0x4c0 mm/readahead.c:238 ondemand_readahead+0x560/0x780 mm/readahead.c:267 page_cache_sync_ra+0x1ab/0x1c0 mm/readahead.c:577 page_cache_sync_readahead include/linux/pagemap.h:839 [inline] generic_file_buffered_read+0x388/0x23a0 mm/filemap.c:2235 generic_file_read_iter+0x80/0x3d0 mm/filemap.c:2553 ext4_file_read_iter+0x2d0/0x420 fs/ext4/file.c:74 call_read_iter include/linux/fs.h:1897 [inline] generic_file_splice_read+0x22a/0x310 fs/splice.c:311 do_splice_to fs/splice.c:788 [inline] splice_direct_to_actor+0x2aa/0x650 fs/splice.c:867 do_splice_direct+0xf5/0x170 fs/splice.c:976 do_sendfile+0x5db/0xca0 fs/read_write.c:1257 __do_sys_sendfile64 fs/read_write.c:1312 [inline] __se_sys_sendfile64 fs/read_write.c:1304 [inline] __x64_sys_sendfile64+0xa9/0x130 fs/read_write.c:1304 do_syscall_64+0x39/0x80 arch/x86/entry/common.c:46 entry_SYSCALL_64_after_hwframe+0x44/0xa9 Reported by Kernel Concurrency Sanitizer on: CPU: 0 PID: 10429 Comm: syz-executor.3 Not tainted 5.10.0-rc6-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 ==================================================================