================================================================== BUG: KCSAN: data-race in wb_timer_fn / wbt_track write to 0xffff88810391bf04 of 4 bytes by interrupt on cpu 0: calc_wb_limits block/blk-wbt.c:304 [inline] scale_up block/blk-wbt.c:313 [inline] wb_timer_fn+0x403/0xa00 block/blk-wbt.c:382 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 native_restore_fl arch/x86/include/asm/irqflags.h:41 [inline] arch_local_irq_restore arch/x86/include/asm/irqflags.h:84 [inline] kcsan_setup_watchpoint+0x1ec/0x4d0 kernel/kcsan/core.c:591 fsnotify_file include/linux/fsnotify.h:90 [inline] fsnotify_perm+0x1ed/0x2d0 include/linux/fsnotify.h:115 security_file_permission+0x87/0xa0 security/security.c:1451 rw_verify_area+0x136/0x250 fs/read_write.c:400 vfs_read+0xde/0x5c0 fs/read_write.c:487 ksys_read+0xce/0x180 fs/read_write.c:634 __do_sys_read fs/read_write.c:644 [inline] __se_sys_read fs/read_write.c:642 [inline] __x64_sys_read+0x3e/0x50 fs/read_write.c:642 do_syscall_64+0x39/0x80 arch/x86/entry/common.c:46 entry_SYSCALL_64_after_hwframe+0x44/0xa9 read to 0xffff88810391bf04 of 4 bytes by task 21405 on cpu 1: 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 submit_bh_wbc+0x38c/0x3d0 fs/buffer.c:3054 submit_bh fs/buffer.c:3060 [inline] __sync_dirty_buffer+0x12c/0x1d0 fs/buffer.c:3155 sync_dirty_buffer+0x16/0x20 fs/buffer.c:3168 ext4_write_inode+0x28b/0x390 fs/ext4/inode.c:5228 write_inode+0x8c/0x1f0 fs/fs-writeback.c:1320 __writeback_single_inode+0x304/0x560 fs/fs-writeback.c:1516 writeback_single_inode+0x126/0x580 fs/fs-writeback.c:1570 sync_inode fs/fs-writeback.c:2606 [inline] sync_inode_metadata+0x52/0x70 fs/fs-writeback.c:2626 ext4_fsync_nojournal fs/ext4/fsync.c:92 [inline] ext4_sync_file+0x359/0x6c0 fs/ext4/fsync.c:170 vfs_fsync_range+0x107/0x120 fs/sync.c:200 generic_write_sync include/linux/fs.h:2739 [inline] ext4_buffered_write_iter+0x384/0x3d0 fs/ext4/file.c:278 ext4_file_write_iter+0x45e/0x1090 fs/ext4/file.c:503 call_write_iter include/linux/fs.h:1903 [inline] do_iter_readv_writev+0x2cb/0x360 fs/read_write.c:740 do_iter_write+0x112/0x4b0 fs/read_write.c:866 vfs_iter_write+0x4c/0x70 fs/read_write.c:907 iter_file_splice_write+0x42a/0x780 fs/splice.c:686 do_splice_from fs/splice.c:764 [inline] direct_splice_actor+0x80/0xa0 fs/splice.c:933 splice_direct_to_actor+0x345/0x650 fs/splice.c:888 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: 1 PID: 21405 Comm: syz-executor.4 Not tainted 5.10.0-rc5-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 ==================================================================