syzbot


KCSAN: data-race in hrtimer_interrupt / print_tickdevice (15)

Status: moderation: reported on 2025/02/09 02:11
Subsystems: kernel
[Documentation on labels]
Reported-by: syzbot+82c16afe4c8d9e71876e@syzkaller.appspotmail.com
First crash: 97d, last: 25d
Similar bugs (14)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in hrtimer_interrupt / print_tickdevice (6) kernel 5 1028d 1052d 0/28 auto-closed as invalid on 2022/08/27 09:49
upstream KCSAN: data-race in hrtimer_interrupt / print_tickdevice (13) kernel 2 275d 281d 0/28 auto-obsoleted due to no activity on 2024/09/19 01:50
upstream KCSAN: data-race in hrtimer_interrupt / print_tickdevice (8) kernel 3 900d 923d 0/28 auto-obsoleted due to no activity on 2023/01/03 04:47
upstream KCSAN: data-race in hrtimer_interrupt / print_tickdevice (4) kernel 14 1164d 1329d 0/28 auto-closed as invalid on 2022/04/13 14:16
upstream KCSAN: data-race in hrtimer_interrupt / print_tickdevice (2) kernel 3 1465d 1469d 0/28 auto-closed as invalid on 2021/06/16 18:46
upstream KCSAN: data-race in hrtimer_interrupt / print_tickdevice (10) kernel 1 625d 625d 0/28 auto-obsoleted due to no activity on 2023/10/04 07:33
upstream KCSAN: data-race in hrtimer_interrupt / print_tickdevice (5) kernel 2 1102d 1102d 0/28 auto-closed as invalid on 2022/06/15 02:31
upstream KCSAN: data-race in hrtimer_interrupt / print_tickdevice (14) kernel 8 155d 225d 0/28 auto-obsoleted due to no activity on 2025/02/06 20:55
upstream KCSAN: data-race in hrtimer_interrupt / print_tickdevice (7) kernel 1 972d 972d 0/28 auto-obsoleted due to no activity on 2022/10/22 07:07
upstream KCSAN: data-race in hrtimer_interrupt / print_tickdevice (11) kernel 2 510d 523d 0/28 auto-obsoleted due to no activity on 2024/01/28 02:00
upstream KCSAN: data-race in hrtimer_interrupt / print_tickdevice (3) kernel 2 1379d 1414d 0/28 auto-closed as invalid on 2021/09/10 15:52
upstream KCSAN: data-race in hrtimer_interrupt / print_tickdevice kernel 1 1581d 1581d 0/28 auto-closed as invalid on 2021/02/20 21:54
upstream KCSAN: data-race in hrtimer_interrupt / print_tickdevice (12) kernel 1 380d 380d 0/28 auto-obsoleted due to no activity on 2024/06/05 19:29
upstream KCSAN: data-race in hrtimer_interrupt / print_tickdevice (9) kernel 20 692d 841d 0/28 auto-obsoleted due to no activity on 2023/07/30 02:27

Sample crash report:
==================================================================
BUG: KCSAN: data-race in hrtimer_interrupt / print_tickdevice

write to 0xffff888237c17318 of 8 bytes by interrupt on cpu 0:
 hrtimer_interrupt+0x80/0x4a0 kernel/time/hrtimer.c:1866
 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1038 [inline]
 __sysvec_apic_timer_interrupt+0x5c/0x1d0 arch/x86/kernel/apic/apic.c:1055
 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1049 [inline]
 sysvec_apic_timer_interrupt+0x6e/0x80 arch/x86/kernel/apic/apic.c:1049
 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702
 __tsan_read4+0x12/0x180 kernel/kcsan/core.c:1024
 __tlb_remove_folio_pages_size mm/mmu_gather.c:195 [inline]
 __tlb_remove_folio_pages+0x8a/0x220 mm/mmu_gather.c:208
 zap_present_folio_ptes mm/memory.c:1530 [inline]
 zap_present_ptes mm/memory.c:1586 [inline]
 do_zap_pte_range mm/memory.c:1687 [inline]
 zap_pte_range mm/memory.c:1731 [inline]
 zap_pmd_range mm/memory.c:1823 [inline]
 zap_pud_range mm/memory.c:1852 [inline]
 zap_p4d_range mm/memory.c:1873 [inline]
 unmap_page_range+0x1152/0x2660 mm/memory.c:1894
 unmap_single_vma+0x13c/0x1d0 mm/memory.c:1940
 unmap_vmas+0x18f/0x2b0 mm/memory.c:1984
 exit_mmap+0x1b5/0x6e0 mm/mmap.c:1284
 __mmput+0x28/0x1d0 kernel/fork.c:1379
 mmput+0x4c/0x60 kernel/fork.c:1401
 exit_mm+0xe4/0x190 kernel/exit.c:589
 do_exit+0x559/0x17e0 kernel/exit.c:940
 do_group_exit+0x102/0x150 kernel/exit.c:1102
 get_signal+0xf35/0x1080 kernel/signal.c:3034
 arch_do_signal_or_restart+0x9a/0x480 arch/x86/kernel/signal.c:337
 exit_to_user_mode_loop kernel/entry/common.c:111 [inline]
 exit_to_user_mode_prepare include/linux/entry-common.h:329 [inline]
 __syscall_exit_to_user_mode_work kernel/entry/common.c:207 [inline]
 syscall_exit_to_user_mode+0x62/0x120 kernel/entry/common.c:218
 do_syscall_64+0xd6/0x1a0 arch/x86/entry/syscall_64.c:100
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

read to 0xffff888237c17318 of 8 bytes by task 19613 on cpu 1:
 print_tickdevice+0x144/0x340 kernel/time/timer_list.c:208
 timer_list_show+0x79/0x180 kernel/time/timer_list.c:300
 seq_read_iter+0x661/0x970 fs/seq_file.c:272
 proc_reg_read_iter+0x118/0x190 fs/proc/inode.c:299
 copy_splice_read+0x390/0x5d0 fs/splice.c:363
 do_splice_read fs/splice.c:979 [inline]
 splice_direct_to_actor+0x26c/0x680 fs/splice.c:1083
 do_splice_direct_actor fs/splice.c:1201 [inline]
 do_splice_direct+0xd9/0x150 fs/splice.c:1227
 do_sendfile+0x40a/0x690 fs/read_write.c:1368
 __do_sys_sendfile64 fs/read_write.c:1429 [inline]
 __se_sys_sendfile64 fs/read_write.c:1415 [inline]
 __x64_sys_sendfile64+0x113/0x160 fs/read_write.c:1415
 x64_sys_call+0xfc3/0x2e10 arch/x86/include/generated/asm/syscalls_64.h:41
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0xc9/0x1a0 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

value changed: 0x0000002f9829846c -> 0x0000002f982a20ac

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 UID: 0 PID: 19613 Comm: syz.8.7039 Not tainted 6.15.0-rc3-syzkaller-00008-ga33b5a08cbbd #0 PREEMPT(voluntary) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2025
==================================================================

Crashes (5):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/04/22 03:23 upstream a33b5a08cbbd 2a20f901 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in hrtimer_interrupt / print_tickdevice
2025/04/01 22:58 upstream 08733088b566 b8645499 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in hrtimer_interrupt / print_tickdevice
2025/02/24 18:57 upstream d082ecbc71e9 d34966d1 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in hrtimer_interrupt / print_tickdevice
2025/02/16 10:53 upstream ad1b832bf1cf 40a34ec9 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in hrtimer_interrupt / print_tickdevice
2025/02/09 02:10 upstream 9946eaf552b1 ef44b750 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in hrtimer_interrupt / print_tickdevice
* Struck through repros no longer work on HEAD.