syzbot


INFO: rcu detected stall in batadv_dat_purge

Status: upstream: reported on 2025/11/22 07:27
Reported-by: syzbot+c06d79dd7c8f1ca76fe0@syzkaller.appspotmail.com
First crash: 29d, last: 9d13h
Similar bugs (4)
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 223d 223d 0/29 auto-obsoleted due to no activity on 2025/08/09 21:42
upstream INFO: rcu detected stall in batadv_dat_purge (2) kernel 1 1 1081d 1081d 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 1531d 1531d 0/29 auto-closed as invalid on 2022/01/10 03:55
linux-5.15 BUG: soft lockup in batadv_dat_purge 1 1 936d 936d 0/3 auto-obsoleted due to no activity on 2023/09/06 15:35

Sample crash report:
rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
rcu: 	0-....: (1 GPs behind) idle=3bb/1/0x4000000000000002 softirq=72344/72345 fqs=5249 
	(detected by 1, t=10502 jiffies, g=110389, q=928)
Sending NMI from CPU 1 to CPUs 0:
NMI backtrace for cpu 0
CPU: 0 PID: 4867 Comm: kworker/u4:19 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/25/2025
Workqueue: bat_events batadv_dat_purge
RIP: 0010:get_current arch/x86/include/asm/current.h:15 [inline]
RIP: 0010:__sanitizer_cov_trace_pc+0x4/0x60 kernel/kcov.c:205
Code: 84 00 00 00 00 00 53 48 89 fb e8 17 00 00 00 48 8b 3d d0 6b f1 0b 48 89 de 5b e9 d7 9e 43 00 00 00 cc cc 00 00 cc 48 8b 04 24 <65> 48 8b 0d a4 a3 8a 7e 65 8b 15 a5 a3 8a 7e 81 e2 00 01 ff 00 74
RSP: 0018:ffffc90000007038 EFLAGS: 00000046
RAX: ffffffff819651bb RBX: 00000000000000b8 RCX: ffff8880232cbb80
RDX: 0000000000000100 RSI: 0000000000000000 RDI: 0000000000000000
RBP: ffffc90000007130 R08: 0000000000000007 R09: ffffc90000006ed0
R10: fffff52000000ddc R11: 1ffff92000000dda R12: dffffc0000000000
R13: ffffc900000071e6 R14: 00000000000803e0 R15: ffffc90000007340
FS:  0000000000000000(0000) GS:ffff8880b9000000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000100000000 CR3: 0000000022a10000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000200000000300 DR2: 0000000000000000
DR3: 0000200000000300 DR6: 00000000ffff0ff0 DR7: 0000000000000600
Call Trace:
 <IRQ>
 perf_prepare_sample+0x98b/0x1cb0 kernel/events/core.c:7692
 __perf_event_output kernel/events/core.c:7802 [inline]
 perf_event_output_forward+0x146/0x280 kernel/events/core.c:7822
 __perf_event_overflow+0x364/0x530 kernel/events/core.c:9515
 perf_tp_event+0x32c/0xb50 kernel/events/core.c:10047
 perf_trace_run_bpf_submit+0xf3/0x1c0 kernel/events/core.c:10021
 perf_trace_preemptirq_template+0x2be/0x380 include/trace/events/preemptirq.h:14
 trace_irq_enable_rcuidle+0x108/0x180 include/trace/events/preemptirq.h:40
 trace_hardirqs_on+0x57/0x80 kernel/trace/trace_preemptirq.c:44
 asm_sysvec_irq_work+0x16/0x20 arch/x86/include/asm/idtentry.h:713
RIP: 0010:rcu_read_unlock_special+0x84/0x480 kernel/rcu/tree_plugin.h:674
Code: f1 f1 f1 00 f2 f2 f2 4a 89 04 2b 66 42 c7 44 2b 09 f3 f3 42 c6 44 2b 0b f3 65 44 8b 35 ed 11 9e 7e 41 f7 c6 00 00 f0 00 74 45 <48> c7 44 24 20 0e 36 e0 45 4a c7 04 2b 00 00 00 00 66 42 c7 44 2b
RSP: 0018:ffffc900000077a0 EFLAGS: 00000206
RAX: 68cd8fe5f2e9c400 RBX: 1ffff92000000ef8 RCX: 68cd8fe5f2e9c400
RDX: dffffc0000000000 RSI: ffffffff8a0b1be0 RDI: ffffffff8a59e800
RBP: ffffc90000007880 R08: dffffc0000000000 R09: fffffbfff1ff5439
R10: fffffbfff1ff5439 R11: 1ffffffff1ff5438 R12: ffffffff8c120c00
R13: dffffc0000000000 R14: 0000000000000246 R15: 0000000000000001
 __rcu_read_unlock+0x78/0xd0 kernel/rcu/tree_plugin.h:422
 rcu_read_unlock include/linux/rcupdate.h:772 [inline]
 ndisc_send_skb+0xdc4/0x14a0 net/ipv6/ndisc.c:521
 addrconf_rs_timer+0x2b8/0x600 net/ipv6/addrconf.c:3956
 call_timer_fn+0x16c/0x530 kernel/time/timer.c:1451
 expire_timers kernel/time/timer.c:1496 [inline]
 __run_timers+0x525/0x7c0 kernel/time/timer.c:1767
 run_timer_softirq+0x63/0xf0 kernel/time/timer.c:1780
 handle_softirqs+0x328/0x820 kernel/softirq.c:576
 __do_softirq kernel/softirq.c:610 [inline]
 invoke_softirq kernel/softirq.c:450 [inline]
 __irq_exit_rcu+0x12f/0x220 kernel/softirq.c:659
 irq_exit_rcu+0x5/0x20 kernel/softirq.c:671
 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1108 [inline]
 sysvec_apic_timer_interrupt+0xa0/0xc0 arch/x86/kernel/apic/apic.c:1108
 </IRQ>
 <TASK>
 asm_sysvec_apic_timer_interrupt+0x16/0x20 arch/x86/include/asm/idtentry.h:676
RIP: 0010:should_resched arch/x86/include/asm/preempt.h:103 [inline]
RIP: 0010:__local_bh_enable_ip+0x132/0x1b0 kernel/softirq.c:408
Code: 8a e8 02 85 59 08 65 66 8b 05 8a 25 bb 7e 66 85 c0 75 54 bf 01 00 00 00 e8 ab fe 08 00 e8 66 76 35 00 fb 65 8b 05 36 fc b9 7e <85> c0 75 05 e8 45 07 b8 ff 48 c7 04 24 0e 36 e0 45 4b c7 04 37 00
RSP: 0018:ffffc900046bfb40 EFLAGS: 00000286
RAX: 0000000080000000 RBX: 0000000000000201 RCX: 68cd8fe5f2e9c400
RDX: dffffc0000000000 RSI: ffffffff8a0b1be0 RDI: ffffffff8a59e800
RBP: ffffc900046bfbc8 R08: dffffc0000000000 R09: fffffbfff1ff543d
R10: fffffbfff1ff543d R11: 1ffffffff1ff543c R12: ffffffff897495bb
R13: ffff8880773e12e0 R14: dffffc0000000000 R15: 1ffff920008d7f68
 spin_unlock_bh include/linux/spinlock.h:409 [inline]
 __batadv_dat_purge net/batman-adv/distributed-arp-table.c:186 [inline]
 batadv_dat_purge+0x2db/0x3c0 net/batman-adv/distributed-arp-table.c:205
 process_one_work+0x863/0x1000 kernel/workqueue.c:2310
 worker_thread+0xaa8/0x12a0 kernel/workqueue.c:2457
 kthread+0x436/0x520 kernel/kthread.c:334
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:287
 </TASK>

Crashes (2):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/12/12 01:34 linux-5.15.y 68efe5a6c16a d6526ea3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-perf INFO: rcu detected stall in batadv_dat_purge
2025/11/22 07:27 linux-5.15.y cc5ec8769306 4fb8ef37 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-perf INFO: rcu detected stall in batadv_dat_purge
* Struck through repros no longer work on HEAD.