syzbot


INFO: rcu detected stall in task_work_add

Status: upstream: reported syz repro on 2025/08/18 13:03
Subsystems: bpf
[Documentation on labels]
Reported-by: syzbot+f2cf09711ff194bc2c22@syzkaller.appspotmail.com
First crash: 97d, last: 52d
Cause bisection: failed (error log, bisect log)
  
Discussions (1)
Title Replies (including bot) Last reply
[syzbot] [bpf?] INFO: rcu detected stall in task_work_add 0 (1) 2025/08/18 13:03
Last patch testing requests (1)
Created Duration User Patch Repo Result
2025/08/28 14:00 22m retest repro net-next OK log

Sample crash report:
rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
rcu: 	Tasks blocked on level-0 rcu_node (CPUs 0-1): P5835/1:b..l
rcu: 	(detected by 1, t=10504 jiffies, g=82117, q=1602 ncpus=2)
task:syz-executor    state:R  running task     stack:21480 pid:5835  tgid:5835  ppid:5819   task_flags:0x400140 flags:0x00004000
Call Trace:
 <TASK>
 context_switch kernel/sched/core.c:5396 [inline]
 __schedule+0x16a2/0x4cb0 kernel/sched/core.c:6785
 preempt_schedule_common+0x83/0xd0 kernel/sched/core.c:6965
 preempt_schedule+0xae/0xc0 kernel/sched/core.c:6989
 preempt_schedule_thunk+0x16/0x30 arch/x86/entry/thunk.S:12
 __raw_spin_unlock include/linux/spinlock_api_smp.h:143 [inline]
 _raw_spin_unlock+0x3f/0x50 kernel/locking/spinlock.c:186
 spin_unlock include/linux/spinlock.h:391 [inline]
 copy_pte_range mm/memory.c:1206 [inline]
 copy_pmd_range+0x6727/0x7000 mm/memory.c:1267
 copy_pud_range mm/memory.c:1304 [inline]
 copy_p4d_range mm/memory.c:1328 [inline]
 copy_page_range+0xc46/0x1270 mm/memory.c:1416
 dup_mmap+0xf57/0x1ac0 mm/mmap.c:1838
 dup_mm kernel/fork.c:1477 [inline]
 copy_mm+0x13c/0x4b0 kernel/fork.c:1529
 copy_process+0x1706/0x3c00 kernel/fork.c:2169
 kernel_clone+0x224/0x7f0 kernel/fork.c:2599
 __do_sys_clone kernel/fork.c:2742 [inline]
 __se_sys_clone kernel/fork.c:2726 [inline]
 __x64_sys_clone+0x18b/0x1e0 kernel/fork.c:2726
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0xfa/0x3b0 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7f7d25f85193
RSP: 002b:00007ffcd73c5f88 EFLAGS: 00000246 ORIG_RAX: 0000000000000038
RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f7d25f85193
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000001200011
RBP: 0000000000000001 R08: 0000000000000000 R09: 0000000000000001
R10: 00005555617b67d0 R11: 0000000000000246 R12: 0000000000000000
R13: 00000000000927c0 R14: 0000000000117416 R15: 00007ffcd73c6120
 </TASK>
rcu: rcu_preempt kthread timer wakeup didn't happen for 10501 jiffies! g82117 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x402
rcu: 	Possible timer handling issue on cpu=0 timer-softirq=69038
rcu: rcu_preempt kthread starved for 10502 jiffies! g82117 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x402 ->cpu=0
rcu: 	Unless rcu_preempt kthread gets sufficient CPU time, OOM is now expected behavior.
rcu: RCU grace-period kthread stack dump:
task:rcu_preempt     state:I stack:26792 pid:16    tgid:16    ppid:2      task_flags:0x208040 flags:0x00004000
Call Trace:
 <TASK>
 context_switch kernel/sched/core.c:5396 [inline]
 __schedule+0x16a2/0x4cb0 kernel/sched/core.c:6785
 __schedule_loop kernel/sched/core.c:6863 [inline]
 schedule+0x165/0x360 kernel/sched/core.c:6878
 schedule_timeout+0x12b/0x270 kernel/time/sleep_timeout.c:99
 rcu_gp_fqs_loop+0x301/0x1540 kernel/rcu/tree.c:2054
 rcu_gp_kthread+0x99/0x390 kernel/rcu/tree.c:2256
 kthread+0x711/0x8a0 kernel/kthread.c:464
 ret_from_fork+0x3fc/0x770 arch/x86/kernel/process.c:148
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
 </TASK>
rcu: Stack dump where RCU GP kthread last ran:
Sending NMI from CPU 1 to CPUs 0:
NMI backtrace for cpu 0
CPU: 0 UID: 0 PID: 16785 Comm: syz.3.3079 Not tainted 6.16.0-rc4-syzkaller #0 PREEMPT(full) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025
RIP: 0010:enqueue_hrtimer+0x158/0x3a0 kernel/time/hrtimer.c:1091
Code: 00 00 00 44 89 fe e8 17 c1 11 00 49 83 ff 1f 0f 87 ea 00 00 00 e8 c8 bc 11 00 bd 01 00 00 00 44 89 f9 d3 e5 43 80 7c 25 00 00 <74> 08 4c 89 f7 e8 be 14 73 00 4d 8b 3e 49 83 c7 44 4c 89 f8 48 c1
RSP: 0018:ffffc90000007d08 EFLAGS: 00000046
RAX: ffffffff81ae90c8 RBX: ffff888056a0d340 RCX: 0000000000000003
RDX: 0000000000010000 RSI: 0000000000000003 RDI: 0000000000000020
RBP: 0000000000000008 R08: ffffffff8f9fdaf7 R09: 1ffffffff1f3fb5e
R10: dffffc0000000000 R11: fffffbfff1f3fb5f R12: dffffc0000000000
R13: 1ffff110170c4f98 R14: ffff8880b8627cc0 R15: 0000000000000003
FS:  00005555630c4500(0000) GS:ffff888125c84000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000000110c3de09d CR3: 000000007c98e000 CR4: 00000000003526f0
Call Trace:
 <IRQ>
 __run_hrtimer kernel/time/hrtimer.c:1778 [inline]
 __hrtimer_run_queues+0x656/0xc60 kernel/time/hrtimer.c:1825
 hrtimer_interrupt+0x45b/0xaa0 kernel/time/hrtimer.c:1887
 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1039 [inline]
 __sysvec_apic_timer_interrupt+0x10b/0x410 arch/x86/kernel/apic/apic.c:1056
 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1050 [inline]
 sysvec_apic_timer_interrupt+0xa1/0xc0 arch/x86/kernel/apic/apic.c:1050
 </IRQ>
 <TASK>
 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702
RIP: 0010:task_work_add+0x0/0x420 kernel/task_work.c:56
Code: 0f 8c 39 ff ff ff 4c 89 f7 e8 cc 87 94 00 e9 2c ff ff ff cc cc cc cc cc cc cc 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 <f3> 0f 1e fa 55 48 89 e5 41 57 41 56 41 55 41 54 53 48 83 e4 e0 48
RSP: 0018:ffffc900036d7c78 EFLAGS: 00000246
RAX: 1ffff1100f942a91 RBX: ffff88807ca15340 RCX: dffffc0000000000
RDX: 0000000000000001 RSI: ffff88807ca15480 RDI: ffff88802fde8000
RBP: ffffc900036d7d10 R08: ffffc900036d7d67 R09: 1ffff920006dafac
R10: dffffc0000000000 R11: fffff520006dafad R12: ffff88807ca15488
R13: 1ffff920006daf90 R14: ffff88802fde8000 R15: ffff88807ca15480
 __fput_deferred+0x154/0x390 fs/file_table.c:526
 fput_close+0x119/0x200 fs/file_table.c:582
 filp_close+0x27/0x40 fs/open.c:1563
 __range_close fs/file.c:752 [inline]
 __do_sys_close_range fs/file.c:811 [inline]
 __se_sys_close_range+0x359/0x650 fs/file.c:775
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0xfa/0x3b0 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7f55ba78e929
Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007fff17f1eee8 EFLAGS: 00000246 ORIG_RAX: 00000000000001b4
RAX: ffffffffffffffda RBX: 00000000001174a4 RCX: 00007f55ba78e929
RDX: 0000000000000000 RSI: 000000000000001e RDI: 0000000000000003
RBP: 00007f55ba9b7ba0 R08: 0000000000000001 R09: 0000000317f1f1df
R10: 00007f55ba600000 R11: 0000000000000246 R12: 00007f55ba9b5fac
R13: 00007f55ba9b5fa0 R14: ffffffffffffffff R15: 00007fff17f1f000
 </TASK>

Crashes (2):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/06/30 14:03 upstream d0b3b7b22dfa fc9d8ee5 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-smack-root INFO: rcu detected stall in task_work_add
2025/08/14 12:55 net-next 3b5ca25ecfa8 22ec1469 .config console log report syz / log [disk image] [vmlinux] [kernel image] ci-upstream-net-kasan-gce INFO: rcu detected stall in task_work_add
* Struck through repros no longer work on HEAD.