syzbot


BUG: using __this_cpu_read() in preemptible code in __delay

Status: upstream: reported on 2026/02/26 15:05
Subsystems: arm
[Documentation on labels]
Reported-by: syzbot+b29d18a34746f34c94cc@syzkaller.appspotmail.com
Fix commit: arm64: Fix sampling the "stable" virtual counter in preemptible section
Patched on: [], missing on: [ci-qemu-gce-upstream-auto ci-qemu-native-arm64-kvm ci-qemu-upstream ci-qemu-upstream-386 ci-qemu2-arm32 ci-qemu2-arm64 ci-qemu2-arm64-compat ci-qemu2-arm64-mte ci-qemu2-riscv64 ci-snapshot-upstream-root ci-upstream-bpf-kasan-gce ci-upstream-bpf-next-kasan-gce ci-upstream-gce-arm64 ci-upstream-gce-leak ci-upstream-kasan-badwrites-root ci-upstream-kasan-gce ci-upstream-kasan-gce-386 ci-upstream-kasan-gce-root ci-upstream-kasan-gce-selinux-root ci-upstream-kasan-gce-smack-root ci-upstream-kmsan-gce-386-root ci-upstream-kmsan-gce-root ci-upstream-linux-next-kasan-gce-root ci-upstream-net-kasan-gce ci-upstream-net-this-kasan-gce ci-upstream-rust-kasan-gce ci2-upstream-fs ci2-upstream-kcsan-gce ci2-upstream-usb]
First crash: 4d09h, last: 4d09h
Discussions (1)
Title Replies (including bot) Last reply
[syzbot] [arm?] BUG: using __this_cpu_read() in preemptible code in __delay 1 (2) 2026/02/26 18:25

Sample crash report:
BUG: using __this_cpu_read() in preemptible [00000000] code: syz.0.1012/5537
caller is __this_cpu_preempt_check+0x20/0x40 lib/smp_processor_id.c:64
CPU: 0 UID: 0 PID: 5537 Comm: syz.0.1012 Tainted: G             L      syzkaller #0 PREEMPT 
Tainted: [L]=SOFTLOCKUP
Hardware name: linux,dummy-virt (DT)
Call trace:
 show_stack+0x18/0x24 arch/arm64/kernel/stacktrace.c:499 (C)
 __dump_stack lib/dump_stack.c:94 [inline]
 dump_stack_lvl+0x7c/0xb0 lib/dump_stack.c:120
 dump_stack+0x1c/0x28 lib/dump_stack.c:129
 check_preemption_disabled+0xe0/0xe8 lib/smp_processor_id.c:47
 __this_cpu_preempt_check+0x20/0x40 lib/smp_processor_id.c:64
 __arch_counter_get_cntvct_stable arch/arm64/include/asm/arch_timer.h:195 [inline]
 __delay+0x40/0x374 arch/arm64/lib/delay.c:39
 __const_udelay+0x48/0x64 arch/arm64/lib/delay.c:66
 udelay include/asm-generic/delay.h:62 [inline]
 snd_timer_close_locked+0x258/0x94c sound/core/timer.c:443
 snd_timer_close+0xa4/0x120 sound/core/timer.c:476
 snd_seq_timer_close+0x88/0xd0 sound/core/seq/seq_timer.c:311
 queue_delete+0x50/0xac sound/core/seq/seq_queue.c:126
 snd_seq_queue_delete+0x2c/0x58 sound/core/seq/seq_queue.c:188
 snd_seq_ioctl_delete_queue+0x6c/0xa0 sound/core/seq/seq_clientmgr.c:1546
 call_seq_client_ctl+0x94/0x120 sound/core/seq/seq_clientmgr.c:2419
 snd_seq_kernel_client_ctl+0x68/0x100 sound/core/seq/seq_clientmgr.c:2447
 delete_seq_queue.isra.0+0xbc/0x124 sound/core/seq/oss/seq_oss_init.c:371
 snd_seq_oss_release+0x13c/0x1a0 sound/core/seq/oss/seq_oss_init.c:416
 odev_release+0x4c/0x88 sound/core/seq/oss/seq_oss.c:141
 __fput+0x2d0/0x958 fs/file_table.c:469
 ____fput+0x14/0x20 fs/file_table.c:497
 task_work_run+0x134/0x238 kernel/task_work.c:233
 resume_user_mode_work include/linux/resume_user_mode.h:50 [inline]
 __exit_to_user_mode_loop kernel/entry/common.c:67 [inline]
 exit_to_user_mode_loop+0x194/0x1c8 kernel/entry/common.c:98
 __exit_to_user_mode_prepare include/linux/irq-entry-common.h:226 [inline]
 exit_to_user_mode_prepare_legacy include/linux/irq-entry-common.h:242 [inline]
 arm64_exit_to_user_mode arch/arm64/kernel/entry-common.c:81 [inline]
 el0_svc+0x258/0x29c arch/arm64/kernel/entry-common.c:725
 el0t_64_sync_handler+0xa0/0xe4 arch/arm64/kernel/entry-common.c:743
 el0t_64_sync+0x198/0x19c arch/arm64/kernel/entry.S:596
BUG: using __this_cpu_read() in preemptible [00000000] code: syz.0.1012/5537
caller is __this_cpu_preempt_check+0x20/0x40 lib/smp_processor_id.c:64
CPU: 0 UID: 0 PID: 5537 Comm: syz.0.1012 Tainted: G             L      syzkaller #0 PREEMPT 
Tainted: [L]=SOFTLOCKUP
Hardware name: linux,dummy-virt (DT)
Call trace:
 show_stack+0x18/0x24 arch/arm64/kernel/stacktrace.c:499 (C)
 __dump_stack lib/dump_stack.c:94 [inline]
 dump_stack_lvl+0x7c/0xb0 lib/dump_stack.c:120
 dump_stack+0x1c/0x28 lib/dump_stack.c:129
 check_preemption_disabled+0xe0/0xe8 lib/smp_processor_id.c:47
 __this_cpu_preempt_check+0x20/0x40 lib/smp_processor_id.c:64
 __arch_counter_get_cntvct_stable arch/arm64/include/asm/arch_timer.h:195 [inline]
 __delay+0x10c/0x374 arch/arm64/lib/delay.c:55
 __const_udelay+0x48/0x64 arch/arm64/lib/delay.c:66
 udelay include/asm-generic/delay.h:62 [inline]
 snd_timer_close_locked+0x258/0x94c sound/core/timer.c:443
 snd_timer_close+0xa4/0x120 sound/core/timer.c:476
 snd_seq_timer_close+0x88/0xd0 sound/core/seq/seq_timer.c:311
 queue_delete+0x50/0xac sound/core/seq/seq_queue.c:126
 snd_seq_queue_delete+0x2c/0x58 sound/core/seq/seq_queue.c:188
 snd_seq_ioctl_delete_queue+0x6c/0xa0 sound/core/seq/seq_clientmgr.c:1546
 call_seq_client_ctl+0x94/0x120 sound/core/seq/seq_clientmgr.c:2419
 snd_seq_kernel_client_ctl+0x68/0x100 sound/core/seq/seq_clientmgr.c:2447
 delete_seq_queue.isra.0+0xbc/0x124 sound/core/seq/oss/seq_oss_init.c:371
 snd_seq_oss_release+0x13c/0x1a0 sound/core/seq/oss/seq_oss_init.c:416
 odev_release+0x4c/0x88 sound/core/seq/oss/seq_oss.c:141
 __fput+0x2d0/0x958 fs/file_table.c:469
 ____fput+0x14/0x20 fs/file_table.c:497
 task_work_run+0x134/0x238 kernel/task_work.c:233
 resume_user_mode_work include/linux/resume_user_mode.h:50 [inline]
 __exit_to_user_mode_loop kernel/entry/common.c:67 [inline]
 exit_to_user_mode_loop+0x194/0x1c8 kernel/entry/common.c:98
 __exit_to_user_mode_prepare include/linux/irq-entry-common.h:226 [inline]
 exit_to_user_mode_prepare_legacy include/linux/irq-entry-common.h:242 [inline]
 arm64_exit_to_user_mode arch/arm64/kernel/entry-common.c:81 [inline]
 el0_svc+0x258/0x29c arch/arm64/kernel/entry-common.c:725
 el0t_64_sync_handler+0xa0/0xe4 arch/arm64/kernel/entry-common.c:743
 el0t_64_sync+0x198/0x19c arch/arm64/kernel/entry.S:596
BUG: using __this_cpu_read() in preemptible [00000000] code: syz.0.1012/5537
caller is __this_cpu_preempt_check+0x20/0x40 lib/smp_processor_id.c:64
CPU: 0 UID: 0 PID: 5537 Comm: syz.0.1012 Tainted: G             L      syzkaller #0 PREEMPT 
Tainted: [L]=SOFTLOCKUP
Hardware name: linux,dummy-virt (DT)
Call trace:
 show_stack+0x18/0x24 arch/arm64/kernel/stacktrace.c:499 (C)
 __dump_stack lib/dump_stack.c:94 [inline]
 dump_stack_lvl+0x7c/0xb0 lib/dump_stack.c:120
 dump_stack+0x1c/0x28 lib/dump_stack.c:129
 check_preemption_disabled+0xe0/0xe8 lib/smp_processor_id.c:47
 __this_cpu_preempt_check+0x20/0x40 lib/smp_processor_id.c:64
 __arch_counter_get_cntvct_stable arch/arm64/include/asm/arch_timer.h:195 [inline]
 __delay+0x19c/0x374 arch/arm64/lib/delay.c:59
 __const_udelay+0x48/0x64 arch/arm64/lib/delay.c:66
 udelay include/asm-generic/delay.h:62 [inline]
 snd_timer_close_locked+0x258/0x94c sound/core/timer.c:443
 snd_timer_close+0xa4/0x120 sound/core/timer.c:476
 snd_seq_timer_close+0x88/0xd0 sound/core/seq/seq_timer.c:311
 queue_delete+0x50/0xac sound/core/seq/seq_queue.c:126
 snd_seq_queue_delete+0x2c/0x58 sound/core/seq/seq_queue.c:188
 snd_seq_ioctl_delete_queue+0x6c/0xa0 sound/core/seq/seq_clientmgr.c:1546
 call_seq_client_ctl+0x94/0x120 sound/core/seq/seq_clientmgr.c:2419
 snd_seq_kernel_client_ctl+0x68/0x100 sound/core/seq/seq_clientmgr.c:2447
 delete_seq_queue.isra.0+0xbc/0x124 sound/core/seq/oss/seq_oss_init.c:371
 snd_seq_oss_release+0x13c/0x1a0 sound/core/seq/oss/seq_oss_init.c:416
 odev_release+0x4c/0x88 sound/core/seq/oss/seq_oss.c:141
 __fput+0x2d0/0x958 fs/file_table.c:469
 ____fput+0x14/0x20 fs/file_table.c:497
 task_work_run+0x134/0x238 kernel/task_work.c:233
 resume_user_mode_work include/linux/resume_user_mode.h:50 [inline]
 __exit_to_user_mode_loop kernel/entry/common.c:67 [inline]
 exit_to_user_mode_loop+0x194/0x1c8 kernel/entry/common.c:98
 __exit_to_user_mode_prepare include/linux/irq-entry-common.h:226 [inline]
 exit_to_user_mode_prepare_legacy include/linux/irq-entry-common.h:242 [inline]
 arm64_exit_to_user_mode arch/arm64/kernel/entry-common.c:81 [inline]
 el0_svc+0x258/0x29c arch/arm64/kernel/entry-common.c:725
 el0t_64_sync_handler+0xa0/0xe4 arch/arm64/kernel/entry-common.c:743
 el0t_64_sync+0x198/0x19c arch/arm64/kernel/entry.S:596

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/02/22 15:01 upstream 32a92f8c8932 6e7b5511 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu2-arm64 BUG: using __this_cpu_read() in preemptible code in __delay
* Struck through repros no longer work on HEAD.