================================================================== BUG: KCSAN: data-race in blk_stat_add / blk_stat_timer_fn read to 0xffffe8ffffd2cfc8 of 4 bytes by interrupt on cpu 0: blk_rq_stat_sum block/blk-stat.c:31 [inline] blk_stat_timer_fn+0x364/0x3d0 block/blk-stat.c:93 call_timer_fn+0x5f/0x2f0 kernel/time/timer.c:1404 expire_timers kernel/time/timer.c:1449 [inline] __run_timers kernel/time/timer.c:1773 [inline] __run_timers kernel/time/timer.c:1740 [inline] run_timer_softirq+0xc0c/0xcd0 kernel/time/timer.c:1786 __do_softirq+0x115/0x33f kernel/softirq.c:292 invoke_softirq kernel/softirq.c:373 [inline] irq_exit+0xbb/0xe0 kernel/softirq.c:413 exiting_irq arch/x86/include/asm/apic.h:536 [inline] smp_apic_timer_interrupt+0xe6/0x280 arch/x86/kernel/apic/apic.c:1137 apic_timer_interrupt+0xf/0x20 arch/x86/entry/entry_64.S:830 get_current arch/x86/include/asm/current.h:15 [inline] get_ctx kernel/kcsan/core.c:175 [inline] is_atomic kernel/kcsan/core.c:180 [inline] should_watch kernel/kcsan/core.c:211 [inline] check_access kernel/kcsan/core.c:465 [inline] __tsan_read8+0xd1/0x100 kernel/kcsan/core.c:596 compound_head include/linux/page-flags.h:174 [inline] PageAnon include/linux/page-flags.h:463 [inline] zap_pte_range mm/memory.c:1052 [inline] zap_pmd_range mm/memory.c:1166 [inline] zap_pud_range mm/memory.c:1195 [inline] zap_p4d_range mm/memory.c:1216 [inline] unmap_page_range+0x9ec/0x18d0 mm/memory.c:1237 unmap_single_vma+0x144/0x200 mm/memory.c:1282 unmap_vmas+0xda/0x1a0 mm/memory.c:1314 exit_mmap+0x13e/0x300 mm/mmap.c:3161 __mmput kernel/fork.c:1079 [inline] mmput+0xea/0x280 kernel/fork.c:1100 exit_mm kernel/exit.c:485 [inline] do_exit+0x4c9/0x18f0 kernel/exit.c:804 do_group_exit+0xb4/0x1c0 kernel/exit.c:921 get_signal+0x2a2/0x1320 kernel/signal.c:2734 do_signal+0x2f/0x6c0 arch/x86/kernel/signal.c:815 exit_to_usermode_loop+0x250/0x2c0 arch/x86/entry/common.c:159 prepare_exit_to_usermode arch/x86/entry/common.c:194 [inline] syscall_return_slowpath arch/x86/entry/common.c:274 [inline] do_syscall_64+0x353/0x370 arch/x86/entry/common.c:300 entry_SYSCALL_64_after_hwframe+0x44/0xa9 write to 0xffffe8ffffd2cfc8 of 4 bytes by interrupt on cpu 1: blk_rq_stat_add block/blk-stat.c:48 [inline] blk_stat_add+0x1f6/0x290 block/blk-stat.c:73 __blk_mq_end_request+0x22d/0x270 block/blk-mq.c:549 scsi_end_request+0x20e/0x3e0 drivers/scsi/scsi_lib.c:613 scsi_io_completion+0x11d/0xc80 drivers/scsi/scsi_lib.c:963 scsi_finish_command+0x280/0x380 drivers/scsi/scsi.c:228 scsi_softirq_done+0x259/0x280 drivers/scsi/scsi_lib.c:1477 blk_done_softirq+0x1eb/0x250 block/blk-softirq.c:37 __do_softirq+0x115/0x33f kernel/softirq.c:292 invoke_softirq kernel/softirq.c:373 [inline] irq_exit+0xbb/0xe0 kernel/softirq.c:413 exiting_irq arch/x86/include/asm/apic.h:536 [inline] do_IRQ+0x81/0x130 arch/x86/kernel/irq.c:263 ret_from_intr+0x0/0x19 arch_local_irq_restore arch/x86/include/asm/paravirt.h:756 [inline] kcsan_setup_watchpoint+0x1d4/0x460 kernel/kcsan/core.c:436 check_access kernel/kcsan/core.c:466 [inline] __tsan_read4 kernel/kcsan/core.c:595 [inline] __tsan_read4+0xc6/0x100 kernel/kcsan/core.c:595 __rcu_read_unlock+0x41/0x3c0 kernel/rcu/tree_plugin.h:376 rcu_read_unlock include/linux/rcupdate.h:652 [inline] workingset_activation+0xf1/0x140 mm/workingset.c:351 mark_page_accessed+0x3da/0x5a0 mm/swap.c:391 zap_pte_range mm/memory.c:1059 [inline] zap_pmd_range mm/memory.c:1166 [inline] zap_pud_range mm/memory.c:1195 [inline] zap_p4d_range mm/memory.c:1216 [inline] unmap_page_range+0x1301/0x18d0 mm/memory.c:1237 unmap_single_vma+0x144/0x200 mm/memory.c:1282 unmap_vmas+0xda/0x1a0 mm/memory.c:1314 exit_mmap+0x13e/0x300 mm/mmap.c:3161 __mmput kernel/fork.c:1079 [inline] mmput+0xea/0x280 kernel/fork.c:1100 exit_mm kernel/exit.c:485 [inline] do_exit+0x4c9/0x18f0 kernel/exit.c:804 do_group_exit+0xb4/0x1c0 kernel/exit.c:921 get_signal+0x2a2/0x1320 kernel/signal.c:2734 do_signal+0x2f/0x6c0 arch/x86/kernel/signal.c:815 exit_to_usermode_loop+0x250/0x2c0 arch/x86/entry/common.c:159 prepare_exit_to_usermode arch/x86/entry/common.c:194 [inline] syscall_return_slowpath arch/x86/entry/common.c:274 [inline] do_syscall_64+0x353/0x370 arch/x86/entry/common.c:300 entry_SYSCALL_64_after_hwframe+0x44/0xa9 Reported by Kernel Concurrency Sanitizer on: CPU: 1 PID: 19305 Comm: syz-executor.1 Not tainted 5.4.0-rc7+ #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 ==================================================================