================================================================== BUG: KCSAN: data-race in __run_timer_base / next_expiry_recalc write to 0xffff888237c1de98 of 8 bytes by interrupt on cpu 1: next_expiry_recalc+0x187/0x1e0 kernel/time/timer.c:1968 __run_timers kernel/time/timer.c:2415 [inline] __run_timer_base+0x2ee/0x640 kernel/time/timer.c:2429 timer_expire_remote+0x2f/0x40 kernel/time/timer.c:2181 tmigr_handle_remote_cpu kernel/time/timer_migration.c:938 [inline] tmigr_handle_remote_up kernel/time/timer_migration.c:1030 [inline] __walk_groups kernel/time/timer_migration.c:488 [inline] tmigr_handle_remote+0x4ee/0x910 kernel/time/timer_migration.c:1091 run_timer_softirq+0x5f/0x70 kernel/time/timer.c:2452 __do_softirq+0xc8/0x285 kernel/softirq.c:554 invoke_softirq kernel/softirq.c:428 [inline] __irq_exit_rcu kernel/softirq.c:633 [inline] irq_exit_rcu+0x3c/0x90 kernel/softirq.c:645 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1043 [inline] sysvec_apic_timer_interrupt+0x73/0x80 arch/x86/kernel/apic/apic.c:1043 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702 __pte_offset_map_lock+0x2e/0x230 mm/pgtable-generic.c:364 pte_offset_map_lock include/linux/mm.h:2980 [inline] madvise_cold_or_pageout_pte_range+0x69f/0xba0 mm/madvise.c:472 walk_pmd_range mm/pagewalk.c:143 [inline] walk_pud_range mm/pagewalk.c:221 [inline] walk_p4d_range mm/pagewalk.c:256 [inline] walk_pgd_range+0x80d/0xef0 mm/pagewalk.c:293 __walk_page_range+0xc5/0x330 mm/pagewalk.c:395 walk_page_range+0x2c5/0x400 mm/pagewalk.c:521 madvise_pageout_page_range mm/madvise.c:586 [inline] madvise_pageout mm/madvise.c:613 [inline] madvise_vma_behavior mm/madvise.c:1019 [inline] madvise_walk_vmas mm/madvise.c:1248 [inline] do_madvise+0x1b51/0x2570 mm/madvise.c:1428 __do_sys_madvise mm/madvise.c:1441 [inline] __se_sys_madvise mm/madvise.c:1439 [inline] __x64_sys_madvise+0x61/0x70 mm/madvise.c:1439 x64_sys_call+0x2825/0x2d30 arch/x86/include/generated/asm/syscalls_64.h:29 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xcd/0x1d0 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f read to 0xffff888237c1de98 of 8 bytes by interrupt on cpu 0: __run_timer_base+0x52/0x640 kernel/time/timer.c:2424 run_timer_base kernel/time/timer.c:2438 [inline] run_timer_softirq+0x31/0x70 kernel/time/timer.c:2448 __do_softirq+0xc8/0x285 kernel/softirq.c:554 invoke_softirq kernel/softirq.c:428 [inline] __irq_exit_rcu kernel/softirq.c:633 [inline] irq_exit_rcu+0x3c/0x90 kernel/softirq.c:645 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1043 [inline] sysvec_apic_timer_interrupt+0x73/0x80 arch/x86/kernel/apic/apic.c:1043 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702 native_safe_halt arch/x86/include/asm/irqflags.h:48 [inline] arch_safe_halt arch/x86/include/asm/irqflags.h:86 [inline] acpi_safe_halt+0x21/0x30 drivers/acpi/processor_idle.c:112 acpi_idle_do_entry+0x1d/0x30 drivers/acpi/processor_idle.c:573 acpi_idle_enter+0x96/0xb0 drivers/acpi/processor_idle.c:707 cpuidle_enter_state+0xcf/0x270 drivers/cpuidle/cpuidle.c:267 cpuidle_enter+0x40/0x70 drivers/cpuidle/cpuidle.c:388 call_cpuidle kernel/sched/idle.c:155 [inline] cpuidle_idle_call kernel/sched/idle.c:236 [inline] do_idle+0x195/0x230 kernel/sched/idle.c:332 cpu_startup_entry+0x25/0x30 kernel/sched/idle.c:430 rest_init+0xef/0xf0 init/main.c:739 start_kernel+0x57c/0x5e0 init/main.c:1081 x86_64_start_reservations+0x2a/0x30 arch/x86/kernel/head64.c:507 x86_64_start_kernel+0x94/0xa0 arch/x86/kernel/head64.c:488 common_startup_64+0x12c/0x137 value changed: 0x000000010001cec5 -> 0x000000010001cec6 Reported by Kernel Concurrency Sanitizer on: CPU: 0 PID: 0 Comm: swapper/0 Tainted: G W 6.9.0-rc6-syzkaller-00046-g18daea77cca6 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024 ==================================================================