hsr_slave_0: left promiscuous mode hsr_slave_1: left promiscuous mode ============================================ WARNING: possible recursive locking detected 6.15.0-rc1-syzkaller-00325-g7cdabafc0012 #0 Not tainted -------------------------------------------- kworker/u8:3/101 is trying to acquire lock: ffff000014f48d08 (&dev_instance_lock_key#3){+.+.}-{4:4}, at: netdev_lock include/linux/netdevice.h:2751 [inline] ffff000014f48d08 (&dev_instance_lock_key#3){+.+.}-{4:4}, at: netdev_lock_ops include/net/netdev_lock.h:42 [inline] ffff000014f48d08 (&dev_instance_lock_key#3){+.+.}-{4:4}, at: netdev_lock_ops include/net/netdev_lock.h:39 [inline] ffff000014f48d08 (&dev_instance_lock_key#3){+.+.}-{4:4}, at: dev_set_allmulti+0x7c/0x1d4 net/core/dev_api.c:288 but task is already holding lock: ffff000014f48d08 (&dev_instance_lock_key#3){+.+.}-{4:4}, at: netdev_lock include/linux/netdevice.h:2751 [inline] ffff000014f48d08 (&dev_instance_lock_key#3){+.+.}-{4:4}, at: netdev_lock_ops include/net/netdev_lock.h:42 [inline] ffff000014f48d08 (&dev_instance_lock_key#3){+.+.}-{4:4}, at: netdev_lock_ops include/net/netdev_lock.h:39 [inline] ffff000014f48d08 (&dev_instance_lock_key#3){+.+.}-{4:4}, at: unregister_netdevice_many_notify+0x334/0x1af4 net/core/dev.c:11938 and the lock comparison function returns 0: other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(&dev_instance_lock_key#3); lock(&dev_instance_lock_key#3); *** DEADLOCK *** May be due to missing lock nesting notation 5 locks held by kworker/u8:3/101: #0: ffff00000dd62948 ((wq_completion)netns){+.+.}-{0:0}, at: process_one_work+0x6f8/0x18d4 kernel/workqueue.c:3213 #1: ffff80008db87c80 (net_cleanup_work){+.+.}-{0:0}, at: process_one_work+0x71c/0x18d4 kernel/workqueue.c:3213 #2: ffff8000887cebb0 (pernet_ops_rwsem){++++}-{4:4}, at: cleanup_net+0xd4/0x93c net/core/net_namespace.c:608 #3: ffff8000887e3628 (rtnl_mutex){+.+.}-{4:4}, at: rtnl_lock+0x1c/0x28 net/core/rtnetlink.c:80 #4: ffff000014f48d08 (&dev_instance_lock_key#3){+.+.}-{4:4}, at: netdev_lock include/linux/netdevice.h:2751 [inline] #4: ffff000014f48d08 (&dev_instance_lock_key#3){+.+.}-{4:4}, at: netdev_lock_ops include/net/netdev_lock.h:42 [inline] #4: ffff000014f48d08 (&dev_instance_lock_key#3){+.+.}-{4:4}, at: netdev_lock_ops include/net/netdev_lock.h:39 [inline] #4: ffff000014f48d08 (&dev_instance_lock_key#3){+.+.}-{4:4}, at: unregister_netdevice_many_notify+0x334/0x1af4 net/core/dev.c:11938 stack backtrace: CPU: 1 UID: 0 PID: 101 Comm: kworker/u8:3 Not tainted 6.15.0-rc1-syzkaller-00325-g7cdabafc0012 #0 PREEMPT Hardware name: linux,dummy-virt (DT) Workqueue: netns cleanup_net Call trace: show_stack+0x18/0x24 arch/arm64/kernel/stacktrace.c:466 (C) __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0xa4/0xf4 lib/dump_stack.c:120 dump_stack+0x1c/0x28 lib/dump_stack.c:129 print_deadlock_bug+0x258/0x348 kernel/locking/lockdep.c:3042 check_deadlock kernel/locking/lockdep.c:3094 [inline] validate_chain kernel/locking/lockdep.c:3896 [inline] __lock_acquire+0x144c/0x2314 kernel/locking/lockdep.c:5235 lock_acquire kernel/locking/lockdep.c:5866 [inline] lock_acquire+0x310/0x38c kernel/locking/lockdep.c:5823 __mutex_lock_common kernel/locking/mutex.c:601 [inline] __mutex_lock+0x144/0x9d8 kernel/locking/mutex.c:746 mutex_lock_nested+0x24/0x30 kernel/locking/mutex.c:798 netdev_lock include/linux/netdevice.h:2751 [inline] netdev_lock_ops include/net/netdev_lock.h:42 [inline] netdev_lock_ops include/net/netdev_lock.h:39 [inline] dev_set_allmulti+0x7c/0x1d4 net/core/dev_api.c:288 macsec_dev_stop+0x190/0x258 drivers/net/macsec.c:3675 __dev_close_many+0x200/0x5a0 net/core/dev.c:1700 dev_close_many+0x1a0/0x43c net/core/dev.c:1725 unregister_netdevice_many_notify+0x360/0x1af4 net/core/dev.c:11940 unregister_netdevice_many net/core/dev.c:12035 [inline] default_device_exit_batch+0x614/0x88c net/core/dev.c:12527 ops_exit_list+0xf0/0x140 net/core/net_namespace.c:177 cleanup_net+0x438/0x93c net/core/net_namespace.c:654 process_one_work+0x7cc/0x18d4 kernel/workqueue.c:3238 process_scheduled_works kernel/workqueue.c:3319 [inline] worker_thread+0x734/0xb84 kernel/workqueue.c:3400 kthread+0x348/0x5fc kernel/kthread.c:464 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:862