============================================ WARNING: possible recursive locking detected 6.14.0-syzkaller-g0c2623cef4f4 #0 Not tainted -------------------------------------------- dhcpcd/5506 is trying to acquire lock: ffff88806b2d4d30 (&dev->lock){+.+.}-{4:4}, at: netdev_lock include/linux/netdevice.h:2751 [inline] ffff88806b2d4d30 (&dev->lock){+.+.}-{4:4}, at: netif_napi_add_weight include/linux/netdevice.h:2783 [inline] ffff88806b2d4d30 (&dev->lock){+.+.}-{4:4}, at: lapbeth_new_device drivers/net/wan/lapbether.c:415 [inline] ffff88806b2d4d30 (&dev->lock){+.+.}-{4:4}, at: lapbeth_device_event+0x766/0xa20 drivers/net/wan/lapbether.c:460 but task is already holding lock: ffff88807f30cd30 (&dev->lock){+.+.}-{4:4}, at: netdev_lock include/linux/netdevice.h:2751 [inline] ffff88807f30cd30 (&dev->lock){+.+.}-{4:4}, at: netdev_lock_ops include/net/netdev_lock.h:42 [inline] ffff88807f30cd30 (&dev->lock){+.+.}-{4:4}, at: dev_change_flags+0x120/0x270 net/core/dev_api.c:67 other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(&dev->lock); lock(&dev->lock); *** DEADLOCK *** May be due to missing lock nesting notation 2 locks held by dhcpcd/5506: #0: ffffffff900fbc48 (rtnl_mutex){+.+.}-{4:4}, at: rtnl_net_lock include/linux/rtnetlink.h:130 [inline] #0: ffffffff900fbc48 (rtnl_mutex){+.+.}-{4:4}, at: devinet_ioctl+0x34e/0x1d80 net/ipv4/devinet.c:1121 #1: ffff88807f30cd30 (&dev->lock){+.+.}-{4:4}, at: netdev_lock include/linux/netdevice.h:2751 [inline] #1: ffff88807f30cd30 (&dev->lock){+.+.}-{4:4}, at: netdev_lock_ops include/net/netdev_lock.h:42 [inline] #1: ffff88807f30cd30 (&dev->lock){+.+.}-{4:4}, at: dev_change_flags+0x120/0x270 net/core/dev_api.c:67 stack backtrace: CPU: 0 UID: 0 PID: 5506 Comm: dhcpcd Not tainted 6.14.0-syzkaller-g0c2623cef4f4 #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2025 Call Trace: __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x241/0x360 lib/dump_stack.c:120 print_deadlock_bug+0x2be/0x2d0 kernel/locking/lockdep.c:3042 check_deadlock kernel/locking/lockdep.c:3094 [inline] validate_chain+0x928/0x24e0 kernel/locking/lockdep.c:3896 __lock_acquire+0xad5/0xd80 kernel/locking/lockdep.c:5235 lock_acquire+0x116/0x2f0 kernel/locking/lockdep.c:5866 __mutex_lock_common kernel/locking/mutex.c:601 [inline] __mutex_lock+0x1a5/0x10c0 kernel/locking/mutex.c:746 netdev_lock include/linux/netdevice.h:2751 [inline] netif_napi_add_weight include/linux/netdevice.h:2783 [inline] lapbeth_new_device drivers/net/wan/lapbether.c:415 [inline] lapbeth_device_event+0x766/0xa20 drivers/net/wan/lapbether.c:460 notifier_call_chain+0x1a5/0x3f0 kernel/notifier.c:85 __dev_notify_flags+0x209/0x410 net/core/dev.c:-1 netif_change_flags+0xf0/0x1a0 net/core/dev.c:9438 dev_change_flags+0x146/0x270 net/core/dev_api.c:68 devinet_ioctl+0xea4/0x1d80 net/ipv4/devinet.c:1200 inet_ioctl+0x3d9/0x4f0 net/ipv4/af_inet.c:1001 sock_do_ioctl+0x15a/0x490 net/socket.c:1190 sock_ioctl+0x644/0x900 net/socket.c:1311 vfs_ioctl fs/ioctl.c:51 [inline] __do_sys_ioctl fs/ioctl.c:906 [inline] __se_sys_ioctl+0xf1/0x160 fs/ioctl.c:892 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xf3/0x230 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f1790854d49 Code: 5c c3 48 8d 44 24 08 48 89 54 24 e0 48 89 44 24 c0 48 8d 44 24 d0 48 89 44 24 c8 b8 10 00 00 00 c7 44 24 b8 10 00 00 00 0f 05 <41> 89 c0 3d 00 f0 ff ff 76 10 48 8b 15 ae 60 0d 00 f7 d8 41 83 c8 RSP: 002b:00007ffd081e0f38 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 RAX: ffffffffffffffda RBX: 00007f17907866c0 RCX: 00007f1790854d49 RDX: 00007ffd081f1128 RSI: 0000000000008914 RDI: 000000000000000c RBP: 00007ffd082012e8 R08: 00007ffd081f10e8 R09: 00007ffd081f1098 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 00007ffd081f1128 R14: 0000000000000028 R15: 0000000000008914