* [syzbot] [batman?] WARNING in __batadv_dat_purge
@ 2026-11-11 2:26 syzbot
0 siblings, 0 replies; only message in thread
From: syzbot @ 2026-11-11 2:26 UTC (permalink / raw)
To: antonio, b.a.t.m.a.n, linux-kernel, marek.lindner, sven, sw,
syzkaller-bugs
Hello,
syzbot found the following issue on:
HEAD commit: b3dfbde62cf1 Merge tag 'linux_kselftest-fixes-7.4-rc3' of ..
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=17356f35580000
kernel config: https://syzkaller.appspot.com/x/.config?x=d16c0eae9c338e3c
dashboard link: https://syzkaller.appspot.com/bug?extid=89f07b62d8237346ecab
compiler: Debian clang version 22.1.8 (1~deb13u4), Debian LLD 22.1.8
Unfortunately, I don't have any reproducer for this issue yet.
Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/403baefe34aa/disk-b3dfbde6.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/e7f58e7003b8/vmlinux-b3dfbde6.xz
kernel image: https://storage.googleapis.com/syzbot-assets/83e039a928f8/bzImage-b3dfbde6.xz
AI-generated root cause summary:
Under PREEMPT_RT kernels, `__local_bh_enable_ip()` enforces that hard IRQs are
enabled using `lockdep_assert_irqs_enabled()`. When `batadv_dat_purge()` invokes
`__batadv_dat_purge()`, `spin_unlock_bh()` calls `local_bh_enable()`, which
trips `kernel/softirq.c:289` because lockdep's per-CPU `hardirqs_enabled`
tracker was 0 despite CPU hardware interrupts being enabled (`EFLAGS.IF == 1`).
The lock and bottom-half operations in `__batadv_dat_purge()` and its callee
`batadv_dat_entry_put()` are properly balanced, indicating lockdep's per-CPU IRQ
tracking state became desynchronized from the CPU's hardware interrupt state.
full analysis: https://syzkaller.appspot.com/x/ai_root_cause?x=89f07b62d8237346ecab
IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+89f07b62d8237346ecab@syzkaller.appspotmail.com
------------[ cut here ]------------
__lockdep_enabled && !this_cpu_read(hardirqs_enabled)
WARNING: kernel/softirq.c:289 at __local_bh_enable_ip+0x1ea/0x2b0 kernel/softirq.c:289, CPU#1: kworker/u8:12/1182
Modules linked in:
CPU: 1 UID: 0 PID: 1182 Comm: kworker/u8:12 Not tainted syzkaller #0 PREEMPT_{RT,(full)}
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 11/06/2026
Workqueue: bat_events batadv_dat_purge
RIP: 0010:__local_bh_enable_ip+0x1ea/0x2b0 kernel/softirq.c:289
Code: 5b 41 5c 41 5d 41 5e 41 5f 5d c3 cc cc cc cc cc 90 0f 0b 90 e9 66 fe ff ff e8 02 78 ec 09 41 f7 c4 00 02 00 00 75 d8 eb d7 90 <0f> 0b 90 e9 92 fe ff ff 90 0f 0b 90 e9 6f ff ff ff e8 e0 77 ec 09
RSP: 0018:ffffc9000694fa30 EFLAGS: 00010246
RAX: 0000000000000000 RBX: 0000000000000200 RCX: 0000000000000046
RDX: 0000000000000001 RSI: 0000000000000200 RDI: ffffffff8b3e742e
RBP: 0000000000000400 R08: ffffffff90d5a8bf R09: 1ffffffff21ab517
R10: dffffc0000000000 R11: fffffbfff21ab518 R12: ffffffff8b3e7790
R13: dffffc0000000000 R14: ffff888061f74b90 R15: 0000000000000001
FS: 0000000000000000(0000) GS:ffff88812480e000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fe1171a6000 CR3: 0000000034222000 CR4: 00000000003526f0
Call Trace:
<TASK>
local_bh_enable include/linux/bottom_half.h:33 [inline]
spin_unlock_bh include/linux/spinlock_rt.h:122 [inline]
__batadv_dat_purge+0x343/0x400 net/batman-adv/distributed-arp-table.c:252
batadv_dat_purge+0x20/0x70 net/batman-adv/distributed-arp-table.c:271
process_one_work kernel/workqueue.c:3495 [inline]
process_scheduled_works+0xc3d/0x1630 kernel/workqueue.c:3578
worker_thread+0xa47/0xfb0 kernel/workqueue.c:3659
kthread+0x38b/0x470 kernel/kthread.c:436
ret_from_fork+0x514/0xb70 arch/x86/kernel/process.c:158
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
</TASK>
---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzkaller@googlegroups.com.
syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.
If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title
If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)
If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report
If you want to undo deduplication, reply with:
#syz undup
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-11-11 2:26 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-11-11 2:26 [syzbot] [batman?] WARNING in __batadv_dat_purge syzbot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®