Hello,
syzbot found the following issue on:
HEAD commit: 62085877ae65 Merge tag 'kbuild-fixes-6.19-2' of git://git...
git tree: upstream
console output:
https://syzkaller.appspot.com/x/log.txt?x=17be405a580000
kernel config:
https://syzkaller.appspot.com/x/.config?x=6c9e86480ac654d3
dashboard link:
https://syzkaller.appspot.com/bug?extid=a0069e9acb78619de13e
compiler: Debian clang version 21.1.8 (++20251221033036+2078da43e25a-1~exp1~20251221153213.50), Debian LLD 21.1.8
CC: [
ant...@mandelbit.com b.a.t...@lists.open-mesh.org da...@davemloft.net edum...@google.com ho...@kernel.org ku...@kernel.org linux-...@vger.kernel.org marek....@mailbox.org net...@vger.kernel.org pab...@redhat.com sv...@narfation.org s...@simonwunderlich.de]
Unfortunately, I don't have any reproducer for this issue yet.
Downloadable assets:
disk image:
https://storage.googleapis.com/syzbot-assets/3cfa5ae35e8d/disk-62085877.raw.xz
vmlinux:
https://storage.googleapis.com/syzbot-assets/5beaac31a028/vmlinux-62085877.xz
kernel image:
https://storage.googleapis.com/syzbot-assets/d216fd89a57c/bzImage-62085877.xz
IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by:
syzbot+a0069e...@syzkaller.appspotmail.com
bridge0: received packet on bridge_slave_0 with own address as source address (addr:aa:aa:aa:aa:aa:1b, vlan:1)
==================================================================
BUG: KCSAN: data-race in batadv_bla_tx / batadv_bla_tx
write to 0xffff88811bd5a1a0 of 8 bytes by interrupt on cpu 0:
batadv_bla_update_own_backbone_gw net/batman-adv/bridge_loop_avoidance.c:577 [inline]
batadv_bla_tx+0x7f4/0xc80 net/batman-adv/bridge_loop_avoidance.c:2104
batadv_interface_tx+0x349/0xae0 net/batman-adv/mesh-interface.c:227
__netdev_start_xmit include/linux/netdevice.h:5273 [inline]
netdev_start_xmit include/linux/netdevice.h:5282 [inline]
xmit_one net/core/dev.c:3866 [inline]
dev_hard_start_xmit+0x125/0x3e0 net/core/dev.c:3882
__dev_queue_xmit+0xdb1/0x1f20 net/core/dev.c:4832
dev_queue_xmit include/linux/netdevice.h:3381 [inline]
br_dev_queue_push_xmit+0x42d/0x4e0 net/bridge/br_forward.c:53
NF_HOOK include/linux/netfilter.h:318 [inline]
br_forward_finish+0x89/0x190 net/bridge/br_forward.c:66
br_nf_hook_thresh net/bridge/br_netfilter_hooks.c:-1 [inline]
br_nf_forward_finish+0x6ff/0x780 net/bridge/br_netfilter_hooks.c:662
NF_HOOK include/linux/netfilter.h:318 [inline]
br_nf_forward_arp net/bridge/br_netfilter_hooks.c:752 [inline]
br_nf_forward+0xae3/0xec0 net/bridge/br_netfilter_hooks.c:775
nf_hook_entry_hookfn include/linux/netfilter.h:158 [inline]
nf_hook_slow+0x78/0x180 net/netfilter/core.c:623
nf_hook include/linux/netfilter.h:273 [inline]
NF_HOOK include/linux/netfilter.h:316 [inline]
__br_forward+0x282/0x360 net/bridge/br_forward.c:115
deliver_clone net/bridge/br_forward.c:131 [inline]
maybe_deliver+0x1b8/0x280 net/bridge/br_forward.c:191
br_flood+0x21f/0x460 net/bridge/br_forward.c:238
br_handle_frame_finish+0xd96/0xfc0 net/bridge/br_input.c:229
nf_hook_bridge_pre net/bridge/br_input.c:313 [inline]
br_handle_frame+0x5f5/0xa30 net/bridge/br_input.c:442
__netif_receive_skb_core+0x5b1/0x1950 net/core/dev.c:6039
__netif_receive_skb_one_core net/core/dev.c:6150 [inline]
__netif_receive_skb+0x59/0x270 net/core/dev.c:6265
process_backlog+0x228/0x420 net/core/dev.c:6617
__napi_poll+0x5f/0x300 net/core/dev.c:7681
napi_poll net/core/dev.c:7744 [inline]
net_rx_action+0x452/0x930 net/core/dev.c:7896
handle_softirqs+0xb9/0x280 kernel/softirq.c:622
do_softirq+0x45/0x60 kernel/softirq.c:523
__local_bh_enable_ip+0x70/0x80 kernel/softirq.c:450
local_bh_enable include/linux/bottom_half.h:33 [inline]
__alloc_skb+0x477/0x4b0 net/core/skbuff.c:674
alloc_skb include/linux/skbuff.h:1383 [inline]
nsim_dev_trap_skb_build drivers/net/netdevsim/dev.c:818 [inline]
nsim_dev_trap_report drivers/net/netdevsim/dev.c:875 [inline]
nsim_dev_trap_report_work+0x18a/0x630 drivers/net/netdevsim/dev.c:921
process_one_work kernel/workqueue.c:3257 [inline]
process_scheduled_works+0x4cd/0x9d0 kernel/workqueue.c:3340
worker_thread+0x581/0x770 kernel/workqueue.c:3421
kthread+0x488/0x510 kernel/kthread.c:463
ret_from_fork+0x148/0x280 arch/x86/kernel/process.c:158
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:246
write to 0xffff88811bd5a1a0 of 8 bytes by interrupt on cpu 1:
batadv_bla_update_own_backbone_gw net/batman-adv/bridge_loop_avoidance.c:577 [inline]
batadv_bla_tx+0x7f4/0xc80 net/batman-adv/bridge_loop_avoidance.c:2104
batadv_interface_tx+0x349/0xae0 net/batman-adv/mesh-interface.c:227
__netdev_start_xmit include/linux/netdevice.h:5273 [inline]
netdev_start_xmit include/linux/netdevice.h:5282 [inline]
xmit_one net/core/dev.c:3866 [inline]
dev_hard_start_xmit+0x125/0x3e0 net/core/dev.c:3882
__dev_queue_xmit+0xdb1/0x1f20 net/core/dev.c:4832
dev_queue_xmit include/linux/netdevice.h:3381 [inline]
br_dev_queue_push_xmit+0x42d/0x4e0 net/bridge/br_forward.c:53
NF_HOOK include/linux/netfilter.h:318 [inline]
br_forward_finish+0x89/0x190 net/bridge/br_forward.c:66
br_nf_hook_thresh net/bridge/br_netfilter_hooks.c:-1 [inline]
br_nf_forward_finish+0x6ff/0x780 net/bridge/br_netfilter_hooks.c:662
NF_HOOK include/linux/netfilter.h:318 [inline]
br_nf_forward_arp net/bridge/br_netfilter_hooks.c:752 [inline]
br_nf_forward+0xae3/0xec0 net/bridge/br_netfilter_hooks.c:775
nf_hook_entry_hookfn include/linux/netfilter.h:158 [inline]
nf_hook_slow+0x78/0x180 net/netfilter/core.c:623
nf_hook include/linux/netfilter.h:273 [inline]
NF_HOOK include/linux/netfilter.h:316 [inline]
__br_forward+0x282/0x360 net/bridge/br_forward.c:115
deliver_clone net/bridge/br_forward.c:131 [inline]
maybe_deliver+0x1b8/0x280 net/bridge/br_forward.c:191
br_flood+0x21f/0x460 net/bridge/br_forward.c:238
br_handle_frame_finish+0xd96/0xfc0 net/bridge/br_input.c:229
nf_hook_bridge_pre net/bridge/br_input.c:313 [inline]
br_handle_frame+0x5f5/0xa30 net/bridge/br_input.c:442
__netif_receive_skb_core+0x5b1/0x1950 net/core/dev.c:6039
__netif_receive_skb_one_core net/core/dev.c:6150 [inline]
__netif_receive_skb+0x59/0x270 net/core/dev.c:6265
process_backlog+0x228/0x420 net/core/dev.c:6617
__napi_poll+0x5f/0x300 net/core/dev.c:7681
napi_poll net/core/dev.c:7744 [inline]
net_rx_action+0x452/0x930 net/core/dev.c:7896
handle_softirqs+0xb9/0x280 kernel/softirq.c:622
do_softirq+0x45/0x60 kernel/softirq.c:523
__local_bh_enable_ip+0x70/0x80 kernel/softirq.c:450
__raw_spin_unlock_bh include/linux/spinlock_api_smp.h:167 [inline]
_raw_spin_unlock_bh+0x18/0x20 kernel/locking/spinlock.c:210
spin_unlock_bh include/linux/spinlock.h:396 [inline]
batadv_tt_global_purge net/batman-adv/translation-table.c:2250 [inline]
batadv_tt_purge+0x2cd/0x610 net/batman-adv/translation-table.c:3510
process_one_work kernel/workqueue.c:3257 [inline]
process_scheduled_works+0x4cd/0x9d0 kernel/workqueue.c:3340
worker_thread+0x581/0x770 kernel/workqueue.c:3421
kthread+0x488/0x510 kernel/kthread.c:463
ret_from_fork+0x148/0x280 arch/x86/kernel/process.c:158
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:246
value changed: 0x00000000ffffe174 -> 0x00000000ffffe175
Reported by Kernel Concurrency Sanitizer on:
CPU: 1 UID: 0 PID: 2270 Comm: kworker/u8:12 Tainted: G W syzkaller #0 PREEMPT(voluntary)
Tainted: [W]=WARN
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/25/2025
Workqueue: bat_events batadv_tt_purge
==================================================================
net_ratelimit: 8016 callbacks suppressed
bridge0: received packet on bridge_slave_0 with own address as source address (addr:aa:aa:aa:aa:aa:1b, vlan:1)
bridge0: received packet on bridge_slave_0 with own address as source address (addr:aa:aa:aa:aa:aa:1b, vlan:1)
bridge0: received packet on bridge_slave_0 with own address as source address (addr:aa:aa:aa:aa:aa:1b, vlan:1)
bridge0: received packet on bridge_slave_0 with own address as source address (addr:aa:aa:aa:aa:aa:1b, vlan:1)
bridge0: received packet on bridge_slave_0 with own address as source address (addr:aa:aa:aa:aa:aa:1b, vlan:1)
bridge0: received packet on bridge_slave_0 with own address as source address (addr:aa:aa:aa:aa:aa:1b, vlan:1)
bridge0: received packet on bridge_slave_0 with own address as source address (addr:aa:aa:aa:aa:aa:1b, vlan:1)
bridge0: received packet on bridge_slave_0 with own address as source address (addr:aa:aa:aa:aa:aa:1b, vlan:1)
bridge0: received packet on bridge_slave_0 with own address as source address (addr:aa:aa:aa:aa:aa:1b, vlan:1)
bridge0: received packet on bridge_slave_0 with own address as source address (addr:aa:aa:aa:aa:aa:1b, vlan:1)
net_ratelimit: 8570 callbacks suppressed
bridge0: received packet on bridge_slave_0 with own address as source address (addr:aa:aa:aa:aa:aa:1b, vlan:1)
bridge0: received packet on bridge_slave_0 with own address as source address (addr:aa:aa:aa:aa:aa:1b, vlan:1)
bridge0: received packet on bridge_slave_0 with own address as source address (addr:aa:aa:aa:aa:aa:1b, vlan:1)
bridge0: received packet on bridge_slave_0 with own address as source address (addr:aa:aa:aa:aa:aa:1b, vlan:1)
bridge0: received packet on bridge_slave_0 with own address as source address (addr:aa:aa:aa:aa:aa:1b, vlan:1)
bridge0: received packet on bridge_slave_0 with own address as source address (addr:aa:aa:aa:aa:aa:1b, vlan:1)
bridge0: received packet on bridge_slave_0 with own address as source address (addr:aa:aa:aa:aa:aa:1b, vlan:1)
bridge0: received packet on bridge_slave_0 with own address as source address (addr:aa:aa:aa:aa:aa:1b, vlan:1)
bridge0: received packet on bridge_slave_0 with own address as source address (addr:aa:aa:aa:aa:aa:1b, vlan:1)
bridge0: received packet on bridge_slave_0 with own address as source address (addr:aa:aa:aa:aa:aa:1b, vlan:1)
---
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
syzk...@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