syzbot


KCSAN: data-race in add_timer_on / timer_clear_idle

Status: closed as invalid on 2019/10/18 14:11
Subsystems: kernel
[Documentation on labels]
First crash: 1666d, last: 1666d
Similar bugs (2)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in add_timer_on / timer_clear_idle (3) kernel 30 1368d 1415d 0/26 auto-closed as invalid on 2020/09/09 13:18
upstream KCSAN: data-race in add_timer_on / timer_clear_idle (2) kernel 30 1420d 1654d 0/26 closed as invalid on 2020/06/18 14:24

Sample crash report:
==================================================================
BUG: KCSAN: data-race in add_timer_on / timer_clear_idle

read to 0xffff88812be1b6e4 of 1 bytes by interrupt on cpu 1:
 forward_timer_base kernel/time/timer.c:888 [inline]
 add_timer_on+0x20e/0x2d0 kernel/time/timer.c:1167
 clocksource_watchdog+0x63f/0x760 kernel/time/clocksource.c:297
 call_timer_fn+0x5f/0x2f0 kernel/time/timer.c:1322
 expire_timers kernel/time/timer.c:1366 [inline]
 __run_timers kernel/time/timer.c:1685 [inline]
 __run_timers kernel/time/timer.c:1653 [inline]
 run_timer_softirq+0xcd9/0xd20 kernel/time/timer.c:1698
 __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:537 [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
 arch_local_irq_restore arch/x86/include/asm/paravirt.h:768 [inline]
 __kcsan_setup_watchpoint+0x282/0x510 kernel/kcsan/core.c:469
 __tsan_write8 kernel/kcsan/kcsan.c:31 [inline]
 __tsan_write8+0x32/0x40 kernel/kcsan/kcsan.c:31
 generic_exec_single+0xb7/0x2a0 kernel/smp.c:165
 smp_call_function_single+0x118/0x320 kernel/smp.c:308
 smp_call_function_many+0x5f4/0x650 kernel/smp.c:451
 on_each_cpu_mask+0x55/0x150 kernel/smp.c:645

write to 0xffff88812be1b6e4 of 1 bytes by task 0 on cpu 0:
 timer_clear_idle+0x42/0x50 kernel/time/timer.c:1590
 tick_nohz_restart_sched_tick kernel/time/tick-sched.c:836 [inline]
 __tick_nohz_idle_restart_tick+0x36/0x1b0 kernel/time/tick-sched.c:1137
 tick_nohz_idle_exit+0x1af/0x1e0 kernel/time/tick-sched.c:1178
 do_idle+0xb0/0x2c0 kernel/sched/idle.c:276
 cpu_startup_entry+0x1b/0x20 kernel/sched/idle.c:354
 rest_init+0xec/0xf6 init/main.c:452
 arch_call_rest_init+0x17/0x37
 start_kernel+0x83e/0x864 init/main.c:787
 x86_64_start_reservations+0x29/0x2b arch/x86/kernel/head64.c:472
 x86_64_start_kernel+0x72/0x76 arch/x86/kernel/head64.c:453
 secondary_startup_64+0xa4/0xb0 arch/x86/kernel/head_64.S:241

Reported by Kernel Concurrency Sanitizer on:
CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.3.0+ #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
==================================================================

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2019/10/12 11:50 https://github.com/google/ktsan.git kcsan d724f94f63de 426631dd .config console log report ci2-upstream-kcsan-gce
* Struck through repros no longer work on HEAD.