INFO: rcu detected stall in batadv_dat_purge

Status: upstream: reported on 2026/08/05 08:00
Reported-by: syzbot+574374265143f0d337f0@syzkaller.appspotmail.com
First crash: 1d23h, last: 1d23h
Similar bugs (6)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream INFO: rcu detected stall in batadv_dat_purge (3) batman 1 1 452d 452d 0/29 auto-obsoleted due to no activity on 2025/08/09 21:42
linux-5.15 INFO: rcu detected stall in batadv_dat_purge 1 2 238d 258d 0/3 auto-obsoleted due to no activity on 2026/03/22 01:34
upstream INFO: rcu detected stall in batadv_dat_purge (4) batman 1 syz error error 1 202d 202d 0/29 closed as invalid on 2026/04/30 15:35
upstream INFO: rcu detected stall in batadv_dat_purge (2) kernel 1 1 1310d 1310d 0/29 auto-obsoleted due to no activity on 2023/04/12 18:40
upstream INFO: rcu detected stall in batadv_dat_purge batman 1 1 1760d 1760d 0/29 auto-closed as invalid on 2022/01/10 03:55
linux-5.15 BUG: soft lockup in batadv_dat_purge 1 1 1165d 1165d 0/3 auto-obsoleted due to no activity on 2023/09/06 15:35

Sample crash report:
rcu: INFO: rcu_preempt detected expedited stalls on CPUs/tasks: { 0-.... } 2681 jiffies s: 449265 root: 0x1/.
rcu: blocking rcu_node structures (internal RCU debug):
Sending NMI from CPU 1 to CPUs 0:
NMI backtrace for cpu 0
CPU: 0 PID: 9 Comm: kworker/u4:0 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
Workqueue: bat_events batadv_dat_purge
RIP: 0010:check_preemption_disabled+0x3/0x110 lib/smp_processor_id.c:13
Code: bc 8c 4c 89 f6 e8 dd 53 0d fa e9 6e ff ff ff 00 00 cc cc 00 00 cc cc 48 c7 c7 80 5d df 8a 48 c7 c6 c0 5d df 8a eb 00 55 41 57 <41> 56 53 48 83 ec 10 65 48 8b 04 25 28 00 00 00 48 89 44 24 08 65
RSP: 0018:ffffc90000007908 EFLAGS: 00000046
RAX: 0b3acafd7e923000 RBX: ffffffff818bd4df RCX: 0b3acafd7e923000
RDX: 0000000000000003 RSI: ffffffff8a9183c0 RDI: ffffffff8adf5de0
RBP: ffffc90000007a18 R08: ffffffff8e210aef R09: 1ffffffff1c4215d
R10: dffffc0000000000 R11: fffffbfff1c4215e R12: 0000000000120000
R13: 1ffff92000000f30 R14: ffff88807e124c28 R15: 0000000000000000
FS:  0000000000000000(0000) GS:ffff8880b8e00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f27c95eb700 CR3: 000000000c88e000 CR4: 00000000003506f0
DR0: 0000200000000300 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000600
Call Trace:
 <IRQ>
 trace_call_bpf+0x5d6/0x6b0 kernel/trace/bpf_trace.c:140
 perf_trace_run_bpf_submit+0x79/0x1c0 kernel/events/core.c:10027
 perf_trace_preemptirq_template+0x268/0x320 include/trace/events/preemptirq.h:14
 trace_irq_enable_rcuidle+0xd3/0x140 include/trace/events/preemptirq.h:40
 trace_hardirqs_on+0x24/0x40 kernel/trace/trace_preemptirq.c:44
 asm_sysvec_irq_work+0x16/0x20 arch/x86/include/asm/idtentry.h:728
RIP: 0010:rcu_read_unlock_special+0x7f/0x510 kernel/rcu/tree_plugin.h:685
Code: eb 03 48 b8 f1 f1 f1 f1 f8 f2 f2 f2 4a 89 04 2b 42 c7 44 2b 08 f8 f3 f3 f3 65 44 8b 35 a2 7c 95 7e 41 f7 c6 00 00 f0 00 74 40 <48> c7 44 24 40 0e 36 e0 45 4a c7 04 2b 00 00 00 00 42 c7 44 2b 08
RSP: 0018:ffffc90000007c40 EFLAGS: 00000206
RAX: 0b3acafd7e923000 RBX: 1ffff92000000f90 RCX: 0b3acafd7e923000
RDX: dffffc0000000000 RSI: ffffffff8a8c17a0 RDI: ffffffff8adf5de0
RBP: ffffc90000007d30 R08: ffffffff90b10347 R09: 1ffffffff2162068
R10: dffffc0000000000 R11: fffffbfff2162069 R12: 0000000000000246
R13: dffffc0000000000 R14: ffff8880b8e3bb00 R15: 0000000000000001
 __rcu_read_unlock+0x78/0xd0 kernel/rcu/tree_plugin.h:426
 rcu_read_unlock include/linux/rcupdate.h:823 [inline]
 rebalance_domains+0x86f/0x9d0 kernel/sched/fair.c:11051
 handle_softirqs+0x291/0x910 kernel/softirq.c:596
 __do_softirq kernel/softirq.c:630 [inline]
 invoke_softirq kernel/softirq.c:470 [inline]
 __irq_exit_rcu+0x13b/0x230 kernel/softirq.c:679
 irq_exit_rcu+0x5/0x20 kernel/softirq.c:691
 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1118 [inline]
 sysvec_apic_timer_interrupt+0xa0/0xc0 arch/x86/kernel/apic/apic.c:1118
 </IRQ>
 <TASK>
 asm_sysvec_apic_timer_interrupt+0x16/0x20 arch/x86/include/asm/idtentry.h:691
RIP: 0010:should_resched arch/x86/include/asm/preempt.h:103 [inline]
RIP: 0010:__local_bh_enable_ip+0x13e/0x1c0 kernel/softirq.c:428
Code: 8a e8 b6 f2 e0 08 65 66 8b 05 2e 67 b4 7e 66 85 c0 75 54 bf 01 00 00 00 e8 6f 82 09 00 e8 ca 57 39 00 fb 65 8b 05 da 33 b3 7e <85> c0 75 05 e8 e9 47 b1 ff 48 c7 04 24 0e 36 e0 45 4b c7 04 37 00
RSP: 0018:ffffc900000e7b40 EFLAGS: 00000286
RAX: 0000000080000000 RBX: 0000000000000201 RCX: 0b3acafd7e923000
RDX: dffffc0000000000 RSI: ffffffff8a8c17a0 RDI: ffffffff8adf5de0
RBP: ffffc900000e7bc8 R08: ffffffff90b10347 R09: 1ffffffff2162068
R10: dffffc0000000000 R11: fffffbfff2162069 R12: ffffffff89f6b348
R13: ffff88806247dc48 R14: dffffc0000000000 R15: 1ffff9200001cf68
 spin_unlock_bh include/linux/spinlock.h:396 [inline]
 __batadv_dat_purge net/batman-adv/distributed-arp-table.c:186 [inline]
 batadv_dat_purge+0x2d8/0x3c0 net/batman-adv/distributed-arp-table.c:205
 process_one_work+0x8ab/0x1160 kernel/workqueue.c:2292
 worker_thread+0xaf5/0x12a0 kernel/workqueue.c:2439
 kthread+0x29d/0x330 kernel/kthread.c:376
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295
 </TASK>

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/08/05 08:00 linux-6.1.y fb28aa725e05 52aa2820 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-perf INFO: rcu detected stall in batadv_dat_purge
* Struck through repros no longer work on HEAD.