syzbot


INFO: rcu detected stall in wg_ratelimiter_gc_entries (2)

Status: upstream: reported on 2024/08/02 07:29
Reported-by: syzbot+d0bd8f4cefc47bc81207@syzkaller.appspotmail.com
First crash: 57d, last: 57d
Similar bugs (4)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-6.1 INFO: rcu detected stall in wg_ratelimiter_gc_entries 1 527d 527d 0/3 auto-obsoleted due to no activity on 2023/08/18 11:48
upstream INFO: rcu detected stall in wg_ratelimiter_gc_entries wireguard 1 504d 504d 0/28 auto-obsoleted due to no activity on 2023/08/11 08:26
upstream INFO: rcu detected stall in wg_ratelimiter_gc_entries (2) wireguard C done done 3 409d 408d 0/28 auto-obsoleted due to no activity on 2023/11/23 21:08
linux-5.15 INFO: rcu detected stall in wg_ratelimiter_gc_entries 1 62d 62d 0/3 upstream: reported on 2024/07/27 15:33

Sample crash report:
rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
rcu: 	0-...!: (0 ticks this GP) idle=06cc/1/0x4000000000000000 softirq=82744/82744 fqs=2
rcu: 	Tasks blocked on level-0 rcu_node (CPUs 0-1): P18176/1:b..l
	(detected by 1, t=10506 jiffies, g=112937, q=8 ncpus=2)
Sending NMI from CPU 1 to CPUs 0:
NMI backtrace for cpu 0
CPU: 0 PID: 16398 Comm: kworker/0:6 Not tainted 6.1.102-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/27/2024
Workqueue: events_power_efficient wg_ratelimiter_gc_entries
RIP: 0010:enqueue_hrtimer+0xfe/0x410 kernel/time/hrtimer.c:1085
Code: 4d 89 ef 49 c1 ef 03 43 80 3c 27 00 74 08 4c 89 ef e8 66 2e 68 00 49 8b 6d 00 48 83 c5 4c 48 89 e8 48 c1 e8 03 42 0f b6 04 20 <84> c0 0f 85 e9 00 00 00 0f b6 5d 00 89 de 83 e6 10 31 ff e8 aa a8
RSP: 0018:ffffc90000007d28 EFLAGS: 00000803
RAX: 0000000000000000 RBX: 0000000000000001 RCX: ffff88807e2b5940
RDX: 0000000080010002 RSI: ffffffff8b5d5b80 RDI: ffffffff8b5d5b40
RBP: ffff8880b982a50c R08: ffffffff8179f4e6 R09: fffffbfff1d337ae
R10: 0000000000000000 R11: dffffc0000000001 R12: dffffc0000000000
R13: ffff8880b982a5c0 R14: ffff888068a2e340 R15: 1ffff110173054b8
FS:  0000000000000000(0000) GS:ffff8880b9800000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000000110c34d643 CR3: 00000000289fe000 CR4: 00000000003526f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <NMI>
 </NMI>
 <IRQ>
 __run_hrtimer kernel/time/hrtimer.c:1703 [inline]
 __hrtimer_run_queues+0x728/0xe50 kernel/time/hrtimer.c:1750
 hrtimer_interrupt+0x392/0x980 kernel/time/hrtimer.c:1812
 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1095 [inline]
 __sysvec_apic_timer_interrupt+0x156/0x580 arch/x86/kernel/apic/apic.c:1112
 sysvec_apic_timer_interrupt+0x8c/0xb0 arch/x86/kernel/apic/apic.c:1106
 </IRQ>
 <TASK>
 asm_sysvec_apic_timer_interrupt+0x16/0x20 arch/x86/include/asm/idtentry.h:653
RIP: 0010:lock_acquire+0x26f/0x5a0 kernel/locking/lockdep.c:5666
Code: 2b 00 74 08 4c 89 f7 e8 3f b5 77 00 f6 44 24 61 02 0f 85 84 01 00 00 41 f7 c7 00 02 00 00 74 01 fb 48 c7 44 24 40 0e 36 e0 45 <4b> c7 44 25 00 00 00 00 00 43 c7 44 25 09 00 00 00 00 43 c7 44 25
RSP: 0018:ffffc9000359fa80 EFLAGS: 00000206
RAX: 0000000000000001 RBX: 1ffff920006b3f5c RCX: ffffffff816b2632
RDX: dffffc0000000000 RSI: ffffffff8b0c13c0 RDI: ffffffff8b5d5ba0
RBP: ffffc9000359fbe0 R08: dffffc0000000000 R09: fffffbfff20e7260
R10: 0000000000000000 R11: dffffc0000000001 R12: 1ffff920006b3f58
R13: dffffc0000000000 R14: ffffc9000359fae0 R15: 0000000000000246
 __raw_spin_lock include/linux/spinlock_api_smp.h:133 [inline]
 _raw_spin_lock+0x2a/0x40 kernel/locking/spinlock.c:154
 spin_lock include/linux/spinlock.h:351 [inline]
 wg_ratelimiter_gc_entries+0x5c/0x470 drivers/net/wireguard/ratelimiter.c:63
 process_one_work+0x8a9/0x11d0 kernel/workqueue.c:2292
 worker_thread+0xa47/0x1200 kernel/workqueue.c:2439
 kthread+0x28d/0x320 kernel/kthread.c:376
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295
 </TASK>
task:syz.4.3044      state:R  running task     stack:25752 pid:18176 ppid:6434   flags:0x00004000
Call Trace:
 <TASK>
 context_switch kernel/sched/core.c:5244 [inline]
 __schedule+0x143f/0x4570 kernel/sched/core.c:6561
 preempt_schedule_common+0x83/0xd0 kernel/sched/core.c:6730
 preempt_schedule+0xd9/0xe0 kernel/sched/core.c:6754
 preempt_schedule_thunk+0x16/0x18 arch/x86/entry/thunk_64.S:34
 __raw_spin_unlock_irq include/linux/spinlock_api_smp.h:160 [inline]
 _raw_spin_unlock_irq+0x3c/0x40 kernel/locking/spinlock.c:202
 spin_unlock_irq include/linux/spinlock.h:401 [inline]
 loop_queue_work drivers/block/loop.c:896 [inline]
 loop_queue_rq+0xa02/0xaf0 drivers/block/loop.c:1876
 __blk_mq_issue_directly block/blk-mq.c:2622 [inline]
 __blk_mq_try_issue_directly+0x4fe/0x820 block/blk-mq.c:2675
 blk_mq_try_issue_directly+0x28/0x1f0 block/blk-mq.c:2699
 blk_mq_submit_bio+0x1402/0x2300 block/blk-mq.c:3045
 __submit_bio+0x261/0x2f0 block/blk-core.c:590
 __submit_bio_noacct_mq block/blk-core.c:667 [inline]
 submit_bio_noacct_nocheck+0x976/0xd10 block/blk-core.c:696
 write_mmp_block_thawed+0x3b6/0x5a0 fs/ext4/mmp.c:51
 ext4_multi_mount_protect+0x52e/0x9c0 fs/ext4/mmp.c:365
 __ext4_fill_super fs/ext4/super.c:5287 [inline]
 ext4_fill_super+0x5e50/0x8b50 fs/ext4/super.c:5664
 get_tree_bdev+0x3fe/0x620 fs/super.c:1355
 vfs_get_tree+0x88/0x270 fs/super.c:1562
 do_new_mount+0x2ba/0xb40 fs/namespace.c:3051
 do_mount fs/namespace.c:3394 [inline]
 __do_sys_mount fs/namespace.c:3602 [inline]
 __se_sys_mount+0x2d5/0x3c0 fs/namespace.c:3579
 do_syscall_x64 arch/x86/entry/common.c:51 [inline]
 do_syscall_64+0x3b/0xb0 arch/x86/entry/common.c:81
 entry_SYSCALL_64_after_hwframe+0x68/0xd2
RIP: 0033:0x7f76e4b78aba
RSP: 002b:00007f76e5996e78 EFLAGS: 00000202 ORIG_RAX: 00000000000000a5
RAX: ffffffffffffffda RBX: 00007f76e5996f00 RCX: 00007f76e4b78aba
RDX: 0000000020000080 RSI: 0000000020000140 RDI: 00007f76e5996ec0
RBP: 0000000020000080 R08: 00007f76e5996f00 R09: 0000000002000040
R10: 0000000002000040 R11: 0000000000000202 R12: 0000000020000140
R13: 00007f76e5996ec0 R14: 00000000000004d6 R15: 000000000000002c
 </TASK>
rcu: rcu_preempt kthread starved for 10495 jiffies! g112937 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x0 ->cpu=1
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:R  running task     stack:26136 pid:16    ppid:2      flags:0x00004000
Call Trace:
 <TASK>
 context_switch kernel/sched/core.c:5244 [inline]
 __schedule+0x143f/0x4570 kernel/sched/core.c:6561
 schedule+0xbf/0x180 kernel/sched/core.c:6637
 schedule_timeout+0x1b9/0x300 kernel/time/timer.c:1965
 rcu_gp_fqs_loop+0x2d2/0x1150 kernel/rcu/tree.c:1706
 rcu_gp_kthread+0xa3/0x3b0 kernel/rcu/tree.c:1905
 kthread+0x28d/0x320 kernel/kthread.c:376
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295
 </TASK>
rcu: Stack dump where RCU GP kthread last ran:
CPU: 1 PID: 3798 Comm: kworker/u4:9 Not tainted 6.1.102-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/27/2024
Workqueue: events_unbound toggle_allocation_gate
RIP: 0010:csd_lock_wait kernel/smp.c:424 [inline]
RIP: 0010:smp_call_function_many_cond+0x1fb0/0x3460 kernel/smp.c:998
Code: 2f 44 89 ee 83 e6 01 31 ff e8 4c 43 0b 00 41 83 e5 01 49 bd 00 00 00 00 00 fc ff df 75 0a e8 d7 3f 0b 00 e9 1b ff ff ff f3 90 <42> 0f b6 04 2b 84 c0 75 14 41 f7 07 01 00 00 00 0f 84 fe fe ff ff
RSP: 0018:ffffc900049e75a0 EFLAGS: 00000293
RAX: ffffffff817f5bdb RBX: 1ffff1101730859d RCX: ffff888021801dc0
RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000000
RBP: ffffc900049e7980 R08: ffffffff817f5ba4 R09: fffffbfff20e7245
R10: 0000000000000000 R11: dffffc0000000001 R12: 0000000800000000
R13: dffffc0000000000 R14: 0000000000000000 R15: ffff8880b9842ce8
FS:  0000000000000000(0000) GS:ffff8880b9900000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000000000 CR3: 000000000d08e000 CR4: 00000000003526e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <IRQ>
 </IRQ>
 <TASK>
 on_each_cpu_cond_mask+0x3b/0x80 kernel/smp.c:1166
 on_each_cpu include/linux/smp.h:71 [inline]
 text_poke_sync arch/x86/kernel/alternative.c:1334 [inline]
 text_poke_bp_batch+0x2bb/0x940 arch/x86/kernel/alternative.c:1534
 text_poke_flush arch/x86/kernel/alternative.c:1725 [inline]
 text_poke_finish+0x16/0x30 arch/x86/kernel/alternative.c:1732
 arch_jump_label_transform_apply+0x13/0x20 arch/x86/kernel/jump_label.c:146
 static_key_enable_cpuslocked+0x12e/0x250 kernel/jump_label.c:177
 static_key_enable+0x16/0x20 kernel/jump_label.c:190
 toggle_allocation_gate+0xbf/0x480 mm/kfence/core.c:804
 process_one_work+0x8a9/0x11d0 kernel/workqueue.c:2292
 worker_thread+0xa47/0x1200 kernel/workqueue.c:2439
 kthread+0x28d/0x320 kernel/kthread.c:376
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295
 </TASK>
vkms_vblank_simulate: vblank timer overrun

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/08/02 07:29 linux-6.1.y c1cec4dad96b 1e9c4cf3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan INFO: rcu detected stall in wg_ratelimiter_gc_entries
* Struck through repros no longer work on HEAD.