============================================ WARNING: possible recursive locking detected 6.5.0-rc7-syzkaller-00071-gfe4469582053 #0 Not tainted -------------------------------------------- dhcpcd-run-hook/6741 is trying to acquire lock: ffff0000c9cc9370 (&br->multicast_lock){+.-.}-{2:2}, at: spin_lock include/linux/spinlock.h:351 [inline] ffff0000c9cc9370 (&br->multicast_lock){+.-.}-{2:2}, at: br_ip4_multicast_query net/bridge/br_multicast.c:3435 [inline] ffff0000c9cc9370 (&br->multicast_lock){+.-.}-{2:2}, at: br_multicast_ipv4_rcv net/bridge/br_multicast.c:3849 [inline] ffff0000c9cc9370 (&br->multicast_lock){+.-.}-{2:2}, at: br_multicast_rcv+0x8a0/0x6044 net/bridge/br_multicast.c:3965 but task is already holding lock: ffff0000c7e9d370 (&br->multicast_lock){+.-.}-{2:2}, at: spin_lock include/linux/spinlock.h:351 [inline] ffff0000c7e9d370 (&br->multicast_lock){+.-.}-{2:2}, at: br_multicast_port_query_expired+0x74/0x324 net/bridge/br_multicast.c:1900 other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(&br->multicast_lock); lock(&br->multicast_lock); *** DEADLOCK *** May be due to missing lock nesting notation 5 locks held by dhcpcd-run-hook/6741: #0: ffff800080017c80 ((&pmctx->ip4_own_query.timer)){+.-.}-{0:0}, at: lockdep_copy_map include/linux/lockdep.h:41 [inline] #0: ffff800080017c80 ((&pmctx->ip4_own_query.timer)){+.-.}-{0:0}, at: call_timer_fn+0xd0/0x8cc kernel/time/timer.c:1690 #1: ffff0000c7e9d370 (&br->multicast_lock){+.-.}-{2:2}, at: spin_lock include/linux/spinlock.h:351 [inline] #1: ffff0000c7e9d370 (&br->multicast_lock){+.-.}-{2:2}, at: br_multicast_port_query_expired+0x74/0x324 net/bridge/br_multicast.c:1900 #2: ffff80008e271760 (rcu_read_lock_bh){....}-{1:2}, at: rcu_lock_acquire+0x18/0x54 include/linux/rcupdate.h:302 #3: ffff80008e271760 (rcu_read_lock_bh){....}-{1:2}, at: rcu_lock_acquire+0x18/0x54 include/linux/rcupdate.h:302 #4: ffff80008e271700 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire+0x10/0x4c include/linux/rcupdate.h:302 stack backtrace: CPU: 1 PID: 6741 Comm: dhcpcd-run-hook Not tainted 6.5.0-rc7-syzkaller-00071-gfe4469582053 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/26/2023 Call trace: dump_backtrace+0x1b8/0x1e4 arch/arm64/kernel/stacktrace.c:233 show_stack+0x2c/0x44 arch/arm64/kernel/stacktrace.c:240 __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0xd0/0x124 lib/dump_stack.c:106 dump_stack+0x1c/0x28 lib/dump_stack.c:113 print_deadlock_bug+0x4e4/0x660 kernel/locking/lockdep.c:3020 check_deadlock kernel/locking/lockdep.c:3070 [inline] validate_chain kernel/locking/lockdep.c:3863 [inline] __lock_acquire+0x5fd0/0x75e8 kernel/locking/lockdep.c:5144 lock_acquire+0x23c/0x71c kernel/locking/lockdep.c:5761 __raw_spin_lock include/linux/spinlock_api_smp.h:133 [inline] _raw_spin_lock+0x48/0x60 kernel/locking/spinlock.c:154 spin_lock include/linux/spinlock.h:351 [inline] br_ip4_multicast_query net/bridge/br_multicast.c:3435 [inline] br_multicast_ipv4_rcv net/bridge/br_multicast.c:3849 [inline] br_multicast_rcv+0x8a0/0x6044 net/bridge/br_multicast.c:3965 br_dev_xmit+0x8b0/0x15fc net/bridge/br_device.c:90 __netdev_start_xmit include/linux/netdevice.h:4910 [inline] netdev_start_xmit include/linux/netdevice.h:4924 [inline] xmit_one net/core/dev.c:3537 [inline] dev_hard_start_xmit+0x240/0x8ac net/core/dev.c:3553 __dev_queue_xmit+0x167c/0x3318 net/core/dev.c:4203 dev_queue_xmit include/linux/netdevice.h:3088 [inline] vlan_dev_hard_start_xmit+0x260/0x608 net/8021q/vlan_dev.c:125 __netdev_start_xmit include/linux/netdevice.h:4910 [inline] netdev_start_xmit include/linux/netdevice.h:4924 [inline] xmit_one net/core/dev.c:3537 [inline] dev_hard_start_xmit+0x240/0x8ac net/core/dev.c:3553 __dev_queue_xmit+0x167c/0x3318 net/core/dev.c:4203 dev_queue_xmit include/linux/netdevice.h:3088 [inline] br_dev_queue_push_xmit+0x570/0x70c net/bridge/br_forward.c:53 NF_HOOK include/linux/netfilter.h:303 [inline] __br_multicast_send_query+0x2330/0x3818 net/bridge/br_multicast.c:1804 br_multicast_send_query+0x420/0x5b8 net/bridge/br_multicast.c:1883 br_multicast_port_query_expired+0x248/0x324 net/bridge/br_multicast.c:1908 br_ip4_multicast_port_query_expired+0x24/0x34 net/bridge/br_multicast.c:1919 call_timer_fn+0x19c/0x8cc kernel/time/timer.c:1700 expire_timers kernel/time/timer.c:1751 [inline] __run_timers+0x55c/0x734 kernel/time/timer.c:2022 run_timer_softirq+0x7c/0x114 kernel/time/timer.c:2035 __do_softirq+0x2d0/0xd54 kernel/softirq.c:553 ____do_softirq+0x14/0x20 arch/arm64/kernel/irq.c:80 call_on_irq_stack+0x24/0x4c arch/arm64/kernel/entry.S:882 do_softirq_own_stack+0x20/0x2c arch/arm64/kernel/irq.c:85 invoke_softirq kernel/softirq.c:434 [inline] __irq_exit_rcu+0x200/0x494 kernel/softirq.c:632 irq_exit_rcu+0x14/0x84 kernel/softirq.c:644 el0_interrupt+0x74/0x25c arch/arm64/kernel/entry-common.c:761 __el0_irq_handler_common+0x18/0x24 arch/arm64/kernel/entry-common.c:768 el0t_64_irq_handler+0x10/0x1c arch/arm64/kernel/entry-common.c:773 el0t_64_irq+0x190/0x194 arch/arm64/kernel/entry.S:592