bridge0: received packet on veth0_to_bridge with own address as source address (addr:aa:aa:aa:aa:aa:0c, vlan:0) ================================================================== BUG: KCSAN: data-race in wq_worker_tick / wq_worker_tick read-write to 0xffff8881000738b8 of 8 bytes by interrupt on cpu 1: wq_worker_tick+0x60/0x230 kernel/workqueue.c:1474 sched_tick+0xd7/0x210 kernel/sched/core.c:5550 update_process_times+0x15e/0x190 kernel/time/timer.c:2479 tick_sched_handle kernel/time/tick-sched.c:298 [inline] tick_nohz_handler+0x275/0x3d0 kernel/time/tick-sched.c:319 __run_hrtimer kernel/time/hrtimer.c:1777 [inline] __hrtimer_run_queues+0x20f/0x590 kernel/time/hrtimer.c:1841 hrtimer_interrupt+0x269/0x810 kernel/time/hrtimer.c:1903 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1045 [inline] __sysvec_apic_timer_interrupt+0x5f/0x1d0 arch/x86/kernel/apic/apic.c:1062 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1056 [inline] sysvec_apic_timer_interrupt+0x32/0x80 arch/x86/kernel/apic/apic.c:1056 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:697 is_atomic kernel/kcsan/core.c:249 [inline] should_watch kernel/kcsan/core.c:277 [inline] check_access kernel/kcsan/core.c:752 [inline] __tsan_read4+0xe8/0x190 kernel/kcsan/core.c:1024 __is_skb_forwardable include/linux/netdevice.h:4311 [inline] is_skb_forwardable+0x21/0xf0 net/core/dev.c:2427 br_dev_queue_push_xmit+0x49/0x4e0 net/bridge/br_forward.c:36 br_nf_dev_queue_xmit+0x415/0xc50 net/bridge/br_netfilter_hooks.c:-1 NF_HOOK include/linux/netfilter.h:318 [inline] br_nf_post_routing+0x8c7/0x990 net/bridge/br_netfilter_hooks.c:966 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_finish+0x148/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_ip+0x5fe/0x620 net/bridge/br_netfilter_hooks.c:716 br_nf_forward+0x5a2/0xec0 net/bridge/br_netfilter_hooks.c:773 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 br_flood+0x588/0x6d0 net/bridge/br_forward.c:-1 br_handle_frame_finish+0xd96/0xfc0 net/bridge/br_input.c:229 br_nf_hook_thresh+0x233/0x270 net/bridge/br_netfilter_hooks.c:-1 br_nf_pre_routing_finish_ipv6+0x550/0x580 net/bridge/br_netfilter_ipv6.c:-1 NF_HOOK include/linux/netfilter.h:318 [inline] br_nf_pre_routing_ipv6+0x1fa/0x2e0 net/bridge/br_netfilter_ipv6.c:184 br_nf_pre_routing+0x52b/0xbd0 net/bridge/br_netfilter_hooks.c:508 nf_hook_entry_hookfn include/linux/netfilter.h:158 [inline] nf_hook_bridge_pre net/bridge/br_input.c:291 [inline] br_handle_frame+0x85f/0xa60 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 net/core/dev.c:6265 [inline] process_backlog+0x25b/0x670 net/core/dev.c:6617 __napi_poll+0x5f/0x310 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+0x6bc/0x8b0 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 read-write to 0xffff8881000738b8 of 8 bytes by interrupt on cpu 0: wq_worker_tick+0x60/0x230 kernel/workqueue.c:1474 sched_tick+0xd7/0x210 kernel/sched/core.c:5550 update_process_times+0x15e/0x190 kernel/time/timer.c:2479 tick_sched_handle kernel/time/tick-sched.c:298 [inline] tick_nohz_handler+0x275/0x3d0 kernel/time/tick-sched.c:319 __run_hrtimer kernel/time/hrtimer.c:1777 [inline] __hrtimer_run_queues+0x20f/0x590 kernel/time/hrtimer.c:1841 hrtimer_interrupt+0x269/0x810 kernel/time/hrtimer.c:1903 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1045 [inline] __sysvec_apic_timer_interrupt+0x5f/0x1d0 arch/x86/kernel/apic/apic.c:1062 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1056 [inline] sysvec_apic_timer_interrupt+0x32/0x80 arch/x86/kernel/apic/apic.c:1056 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:697 nbp_switchdev_frame_mark+0x26/0x60 net/bridge/br_switchdev.c:63 br_handle_frame_finish+0x19c/0xfc0 net/bridge/br_input.c:140 br_nf_hook_thresh+0x233/0x270 net/bridge/br_netfilter_hooks.c:-1 br_nf_pre_routing_finish_ipv6+0x550/0x580 net/bridge/br_netfilter_ipv6.c:-1 NF_HOOK include/linux/netfilter.h:318 [inline] br_nf_pre_routing_ipv6+0x1fa/0x2e0 net/bridge/br_netfilter_ipv6.c:184 br_nf_pre_routing+0x52b/0xbd0 net/bridge/br_netfilter_hooks.c:508 nf_hook_entry_hookfn include/linux/netfilter.h:158 [inline] nf_hook_bridge_pre net/bridge/br_input.c:291 [inline] br_handle_frame+0x85f/0xa60 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 net/core/dev.c:6265 [inline] process_backlog+0x25b/0x670 net/core/dev.c:6617 __napi_poll+0x5f/0x310 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+0x6bc/0x8b0 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: 0x00000000016423e0 -> 0x0000000001644af0 Reported by Kernel Concurrency Sanitizer on: CPU: 0 UID: 0 PID: 52 Comm: kworker/u8:3 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: events_unbound nsim_dev_trap_report_work ================================================================== bridge0: received packet on veth0_to_bridge with own address as source address (addr:aa:aa:aa:aa:aa:0c, vlan:0) bridge0: received packet on veth0_to_bridge with own address as source address (addr:aa:aa:aa:aa:aa:0c, vlan:0) bridge0: received packet on veth0_to_bridge with own address as source address (addr:aa:aa:aa:aa:aa:0c, vlan:0) bridge0: received packet on veth0_to_bridge with own address as source address (addr:aa:aa:aa:aa:aa:0c, vlan:0) bridge0: received packet on bridge_slave_0 with own address as source address (addr:aa:aa:aa:aa:aa:0c, vlan:0) bridge0: received packet on veth0_to_bridge with own address as source address (addr:aa:aa:aa:aa:aa:0c, vlan:0) bridge0: received packet on bridge_slave_0 with own address as source address (addr:aa:aa:aa:aa:aa:0c, vlan:0) bridge0: received packet on bridge_slave_0 with own address as source address (addr:aa:aa:aa:aa:aa:0c, vlan:0) bridge0: received packet on veth0_to_bridge with own address as source address (addr:aa:aa:aa:aa:aa:0c, vlan:0) bridge0: received packet on bridge_slave_0 with own address as source address (addr:aa:aa:aa:aa:aa:0c, vlan:0)