============================================ WARNING: possible recursive locking detected 6.1.147-syzkaller #0 Not tainted -------------------------------------------- kworker/u4:8/4641 is trying to acquire lock: ffff0000cd8f21e8 (rlock-AF_UNIX){+.+.}-{2:2}, at: spin_lock include/linux/spinlock.h:351 [inline] ffff0000cd8f21e8 (rlock-AF_UNIX){+.+.}-{2:2}, at: unix_collect_skb+0x140/0x480 net/unix/garbage.c:361 but task is already holding lock: ffff0000cd8f19e8 (rlock-AF_UNIX){+.+.}-{2:2}, at: spin_lock include/linux/spinlock.h:351 [inline] ffff0000cd8f19e8 (rlock-AF_UNIX){+.+.}-{2:2}, at: unix_collect_skb+0xa8/0x480 net/unix/garbage.c:353 other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(rlock-AF_UNIX); lock(rlock-AF_UNIX); *** DEADLOCK *** May be due to missing lock nesting notation 4 locks held by kworker/u4:8/4641: #0: ffff0000c0029138 ((wq_completion)events_unbound){+.+.}-{0:0}, at: process_one_work+0x6b4/0x13a8 kernel/workqueue.c:2265 #1: ffff8000216a7c20 (unix_gc_work){+.+.}-{0:0}, at: process_one_work+0x6f8/0x13a8 kernel/workqueue.c:2267 #2: ffff800017817a58 (unix_gc_lock){+.+.}-{2:2}, at: spin_lock include/linux/spinlock.h:351 [inline] #2: ffff800017817a58 (unix_gc_lock){+.+.}-{2:2}, at: __unix_gc+0xb8/0x1334 net/unix/garbage.c:555 #3: ffff0000cd8f19e8 (rlock-AF_UNIX){+.+.}-{2:2}, at: spin_lock include/linux/spinlock.h:351 [inline] #3: ffff0000cd8f19e8 (rlock-AF_UNIX){+.+.}-{2:2}, at: unix_collect_skb+0xa8/0x480 net/unix/garbage.c:353 stack backtrace: CPU: 0 PID: 4641 Comm: kworker/u4:8 Not tainted 6.1.147-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025 Workqueue: events_unbound __unix_gc Call trace: dump_backtrace+0x1c8/0x1f4 arch/arm64/kernel/stacktrace.c:158 show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:165 __dump_stack+0x30/0x40 lib/dump_stack.c:88 dump_stack_lvl+0xf8/0x160 lib/dump_stack.c:106 dump_stack+0x1c/0x5c lib/dump_stack.c:113 __lock_acquire+0x18b4/0x6544 kernel/locking/lockdep.c:-1 lock_acquire+0x20c/0x644 kernel/locking/lockdep.c:5662 __raw_spin_lock include/linux/spinlock_api_smp.h:133 [inline] _raw_spin_lock+0x54/0x6c kernel/locking/spinlock.c:154 spin_lock include/linux/spinlock.h:351 [inline] unix_collect_skb+0x140/0x480 net/unix/garbage.c:361 __unix_walk_scc net/unix/garbage.c:484 [inline] unix_walk_scc net/unix/garbage.c:509 [inline] __unix_gc+0xd18/0x1334 net/unix/garbage.c:567 process_one_work+0x7f4/0x13a8 kernel/workqueue.c:2292 worker_thread+0x8c8/0xfbc kernel/workqueue.c:2439 kthread+0x250/0x2d8 kernel/kthread.c:376 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:849 netdevsim netdevsim0 eth3 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0 netdevsim netdevsim0 eth2 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0 netdevsim netdevsim0 eth1 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0 netdevsim netdevsim0 eth0 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0 tipc: Disabling bearer tipc: Left network mode device hsr_slave_0 left promiscuous mode device hsr_slave_1 left promiscuous mode batman_adv: batadv0: Removing interface: batadv_slave_0 batman_adv: batadv0: Interface deactivated: batadv_slave_1 batman_adv: batadv0: Removing interface: batadv_slave_1 device bridge_slave_1 left promiscuous mode bridge0: port 2(bridge_slave_1) entered disabled state device bridge_slave_0 left promiscuous mode bridge0: port 1(bridge_slave_0) entered disabled state device veth1_macvtap left promiscuous mode device veth0_macvtap left promiscuous mode device veth1_vlan left promiscuous mode device veth0_vlan left promiscuous mode team0 (unregistering): Port device team_slave_1 removed team0 (unregistering): Port device team_slave_0 removed bond0 (unregistering): (slave bond_slave_1): Releasing backup interface bond0 (unregistering): (slave bond_slave_0): Releasing backup interface bond0 (unregistering): Released all slaves