syzbot


KCSAN: data-race in print_cpu / tick_nohz_stop_idle (4)

Status: moderation: reported on 2024/10/27 09:19
Subsystems: kernel
[Documentation on labels]
Reported-by: syzbot+1eb61f33d06d2d8148fd@syzkaller.appspotmail.com
First crash: 24d, last: 16d
Similar bugs (3)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in print_cpu / tick_nohz_stop_idle (2) kernel 2 460d 466d 0/28 auto-obsoleted due to no activity on 2023/09/22 19:10
upstream KCSAN: data-race in print_cpu / tick_nohz_stop_idle kernel 1 563d 563d 0/28 auto-obsoleted due to no activity on 2023/06/11 20:07
upstream KCSAN: data-race in print_cpu / tick_nohz_stop_idle (3) kernel 9 105d 214d 0/28 auto-obsoleted due to no activity on 2024/09/12 04:14

Sample crash report:
==================================================================
BUG: KCSAN: data-race in print_cpu / tick_nohz_stop_idle

read-write to 0xffff888237c204b0 of 8 bytes by interrupt on cpu 0:
 tick_sched_flag_clear kernel/time/tick-sched.c:201 [inline]
 tick_nohz_stop_idle+0xd0/0x110 kernel/time/tick-sched.c:747
 tick_nohz_irq_enter kernel/time/tick-sched.c:1533 [inline]
 tick_irq_enter+0xa2/0x150 kernel/time/tick-sched.c:1559
 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1049 [inline]
 sysvec_apic_timer_interrupt+0x66/0x80 arch/x86/kernel/apic/apic.c:1049
 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:106 [inline]
 acpi_safe_halt+0x21/0x30 drivers/acpi/processor_idle.c:111
 acpi_idle_do_entry+0x1d/0x30 drivers/acpi/processor_idle.c:568
 acpi_idle_enter+0x96/0xb0 drivers/acpi/processor_idle.c:702
 cpuidle_enter_state+0xc5/0x260 drivers/cpuidle/cpuidle.c:264
 cpuidle_enter+0x40/0x70 drivers/cpuidle/cpuidle.c:385
 call_cpuidle kernel/sched/idle.c:155 [inline]
 cpuidle_idle_call kernel/sched/idle.c:230 [inline]
 do_idle+0x195/0x230 kernel/sched/idle.c:326
 cpu_startup_entry+0x25/0x30 kernel/sched/idle.c:424
 rest_init+0xef/0xf0 init/main.c:747
 start_kernel+0x586/0x5e0 init/main.c:1105
 x86_64_start_reservations+0x2a/0x30 arch/x86/kernel/head64.c:507
 x86_64_start_kernel+0x9a/0xa0 arch/x86/kernel/head64.c:488
 common_startup_64+0x12c/0x137

read to 0xffff888237c204b0 of 8 bytes by task 7307 on cpu 1:
 print_cpu+0x404/0x670 kernel/time/timer_list.c:156
 timer_list_show+0x115/0x180 kernel/time/timer_list.c:295
 traverse+0x155/0x3c0 fs/seq_file.c:111
 seq_read_iter+0x854/0x930 fs/seq_file.c:195
 proc_reg_read_iter+0x118/0x190 fs/proc/inode.c:299
 copy_splice_read+0x3a0/0x5d0 fs/splice.c:365
 do_splice_read fs/splice.c:985 [inline]
 splice_direct_to_actor+0x269/0x670 fs/splice.c:1089
 do_splice_direct_actor fs/splice.c:1207 [inline]
 do_splice_direct+0xd7/0x150 fs/splice.c:1233
 do_sendfile+0x39b/0x970 fs/read_write.c:1388
 __do_sys_sendfile64 fs/read_write.c:1455 [inline]
 __se_sys_sendfile64 fs/read_write.c:1441 [inline]
 __x64_sys_sendfile64+0x110/0x150 fs/read_write.c:1441
 x64_sys_call+0xed5/0x2d60 arch/x86/include/generated/asm/syscalls_64.h:41
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xc9/0x1c0 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

value changed: 0x0000000000000035 -> 0x0000000000000030

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 UID: 0 PID: 7307 Comm: syz.1.1611 Not tainted 6.12.0-rc6-syzkaller-00005-g557329bcecc2 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024
==================================================================

Crashes (2):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/11/05 03:29 upstream 557329bcecc2 509da429 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in print_cpu / tick_nohz_stop_idle
2024/10/27 09:19 upstream 850925a8133c 65e8686b .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in print_cpu / tick_nohz_stop_idle
* Struck through repros no longer work on HEAD.