================================================================== BUG: KCSAN: data-race in wb_timer_fn / wbt_inflight_cb write to 0xffff8881038ac804 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:1417 expire_timers+0x116/0x260 kernel/time/timer.c:1462 __run_timers+0x338/0x3d0 kernel/time/timer.c:1731 run_timer_softirq+0x19/0x30 kernel/time/timer.c:1744 __do_softirq+0x13c/0x2c3 kernel/softirq.c:343 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:226 [inline] __irq_exit_rcu+0xb4/0xc0 kernel/softirq.c:420 sysvec_apic_timer_interrupt+0x74/0x90 arch/x86/kernel/apic/apic.c:1096 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:628 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+0x1fc/0x4e0 kernel/kcsan/core.c:591 page_memcg include/linux/memcontrol.h:368 [inline] lock_page_memcg+0x48/0xf0 mm/memcontrol.c:2175 page_remove_rmap+0x1e/0x610 mm/rmap.c:1334 zap_pte_range+0x5af/0x13c0 mm/memory.c:1264 zap_pmd_range mm/memory.c:1368 [inline] zap_pud_range mm/memory.c:1397 [inline] zap_p4d_range mm/memory.c:1418 [inline] unmap_page_range+0x560/0x660 mm/memory.c:1439 unmap_single_vma+0x157/0x210 mm/memory.c:1484 unmap_vmas+0xbf/0x150 mm/memory.c:1516 exit_mmap+0x1c7/0x400 mm/mmap.c:3220 __mmput+0xa2/0x220 kernel/fork.c:1083 mmput+0x38/0x40 kernel/fork.c:1104 exit_mm+0x32f/0x420 kernel/exit.c:501 do_exit+0x41f/0x1690 kernel/exit.c:812 do_group_exit+0xc8/0x170 kernel/exit.c:922 get_signal+0xd5e/0x1440 kernel/signal.c:2770 arch_do_signal_or_restart+0x2a/0x270 arch/x86/kernel/signal.c:811 handle_signal_work kernel/entry/common.c:147 [inline] exit_to_user_mode_loop kernel/entry/common.c:171 [inline] exit_to_user_mode_prepare+0x109/0x1a0 kernel/entry/common.c:201 __syscall_exit_to_user_mode_work kernel/entry/common.c:291 [inline] syscall_exit_to_user_mode+0x20/0x40 kernel/entry/common.c:302 do_syscall_64+0x45/0x80 arch/x86/entry/common.c:56 entry_SYSCALL_64_after_hwframe+0x44/0xa9 read to 0xffff8881038ac804 of 4 bytes by task 8462 on cpu 1: 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/0x210 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_submit_bio+0x229/0x1000 block/blk-mq.c:2158 __submit_bio_noacct_mq block/blk-core.c:1028 [inline] submit_bio_noacct+0x75d/0x910 block/blk-core.c:1061 submit_bio+0x1f3/0x350 block/blk-core.c:1131 submit_bh_wbc+0x392/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_handle_dirty_metadata+0x1d1/0x590 fs/ext4/ext4_jbd2.c:364 ext4_handle_dirty_dirblock+0x184/0x330 fs/ext4/namei.c:407 ext4_init_new_dir+0x3e5/0x500 fs/ext4/namei.c:2768 ext4_mkdir+0x319/0x730 fs/ext4/namei.c:2803 vfs_mkdir+0x288/0x350 fs/namei.c:3652 do_mkdirat+0x132/0x220 fs/namei.c:3675 __do_sys_mkdir fs/namei.c:3691 [inline] __se_sys_mkdir fs/namei.c:3689 [inline] __x64_sys_mkdir+0x32/0x40 fs/namei.c:3689 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: 8462 Comm: syz-executor.4 Not tainted 5.11.0-rc3-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 ==================================================================