bond3: making interface gretap4 the new active one bond3: Enslaving gretap4 as an active interface with an up link 8021q: adding VLAN 0 to HW filter on device bond4 bond3: Enslaving bond4 as an active interface with a down link ============================================ WARNING: possible recursive locking detected 4.14.168-syzkaller #0 Not tainted -------------------------------------------- syz-executor655/7401 is trying to acquire lock: (&(&bond->stats_lock)->rlock#2/2){+.+.}, at: [] bond_get_stats+0xd2/0x4b0 drivers/net/bonding/bond_main.c:3416 but task is already holding lock: (&(&bond->stats_lock)->rlock#2/2){+.+.}, at: [] bond_get_stats+0xd2/0x4b0 drivers/net/bonding/bond_main.c:3416 other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(&(&bond->stats_lock)->rlock#2/2); lock(&(&bond->stats_lock)->rlock#2/2); *** DEADLOCK *** May be due to missing lock nesting notation 3 locks held by syz-executor655/7401: #0: (rtnl_mutex){+.+.}, at: [] rtnl_lock net/core/rtnetlink.c:72 [inline] #0: (rtnl_mutex){+.+.}, at: [] rtnetlink_rcv_msg+0x339/0xb70 net/core/rtnetlink.c:4301 #1: (&(&bond->stats_lock)->rlock#2/2){+.+.}, at: [] bond_get_stats+0xd2/0x4b0 drivers/net/bonding/bond_main.c:3416 #2: (rcu_read_lock){....}, at: [] bond_get_nest_level drivers/net/bonding/bond_main.c:3405 [inline] #2: (rcu_read_lock){....}, at: [] bond_get_stats+0xb1/0x4b0 drivers/net/bonding/bond_main.c:3416 stack backtrace: CPU: 0 PID: 7401 Comm: syz-executor655 Not tainted 4.14.168-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:17 [inline] dump_stack+0x142/0x197 lib/dump_stack.c:58 print_deadlock_bug kernel/locking/lockdep.c:1796 [inline] check_deadlock kernel/locking/lockdep.c:1843 [inline] validate_chain kernel/locking/lockdep.c:2444 [inline] __lock_acquire.cold+0x2bf/0x8dc kernel/locking/lockdep.c:3487 lock_acquire+0x16f/0x430 kernel/locking/lockdep.c:3994 _raw_spin_lock_nested+0x35/0x50 kernel/locking/spinlock.c:362 bond_get_stats+0xd2/0x4b0 drivers/net/bonding/bond_main.c:3416 dev_get_stats+0x8e/0x250 net/core/dev.c:7994 bond_get_stats+0x20f/0x4b0 drivers/net/bonding/bond_main.c:3422 dev_get_stats+0x8e/0x250 net/core/dev.c:7994 rtnl_fill_stats+0x4d/0xac0 net/core/rtnetlink.c:1079 rtnl_fill_ifinfo+0xe45/0x32c0 net/core/rtnetlink.c:1385 rtmsg_ifinfo_build_skb+0x9b/0x140 net/core/rtnetlink.c:2903 rtmsg_ifinfo_event.part.0+0x35/0xc0 net/core/rtnetlink.c:2933 rtmsg_ifinfo_event net/core/rtnetlink.c:4357 [inline] rtnetlink_event+0xf4/0x120 net/core/rtnetlink.c:4350 notifier_call_chain+0x111/0x1b0 kernel/notifier.c:93 __raw_notifier_call_chain kernel/notifier.c:394 [inline] raw_notifier_call_chain+0x2e/0x40 kernel/notifier.c:401 call_netdevice_notifiers_info+0x56/0x70 net/core/dev.c:1671 call_netdevice_notifiers net/core/dev.c:1687 [inline] netdev_features_change net/core/dev.c:1300 [inline] netdev_change_features+0x66/0x80 net/core/dev.c:7458 bond_compute_features.isra.0+0x484/0x8d0 drivers/net/bonding/bond_main.c:1122 bond_slave_netdev_event drivers/net/bonding/bond_main.c:3150 [inline] bond_netdev_event+0x493/0x8e0 drivers/net/bonding/bond_main.c:3191 notifier_call_chain+0x111/0x1b0 kernel/notifier.c:93 __raw_notifier_call_chain kernel/notifier.c:394 [inline] raw_notifier_call_chain+0x2e/0x40 kernel/notifier.c:401 call_netdevice_notifiers_info+0x56/0x70 net/core/dev.c:1671 call_netdevice_notifiers net/core/dev.c:1687 [inline] netdev_features_change net/core/dev.c:1300 [inline] netdev_change_features+0x66/0x80 net/core/dev.c:7458 bond_compute_features.isra.0+0x484/0x8d0 drivers/net/bonding/bond_main.c:1122 bond_enslave+0x15ef/0x4c70 drivers/net/bonding/bond_main.c:1731 do_set_master net/core/rtnetlink.c:1961 [inline] do_set_master+0x19f/0x200 net/core/rtnetlink.c:1936 rtnl_newlink+0x12ed/0x1700 net/core/rtnetlink.c:2747 rtnetlink_rcv_msg+0x3da/0xb70 net/core/rtnetlink.c:4306 netlink_rcv_skb+0x14f/0x3c0 net/netlink/af_netlink.c:2432 rtnetlink_rcv+0x1d/0x30 net/core/rtnetlink.c:4318 netlink_unicast_kernel net/netlink/af_netlink.c:1286 [inline] netlink_unicast+0x44d/0x650 net/netlink/af_netlink.c:1312 netlink_sendmsg+0x7c4/0xc60 net/netlink/af_netlink.c:1877 sock_sendmsg_nosec net/socket.c:646 [inline] sock_sendmsg+0xce/0x110 net/socket.c:656 ___sys_sendmsg+0x70a/0x840 net/socket.c:2062 __sys_sendmsg+0xb9/0x140 net/socket.c:2096 SYSC_sendmsg net/socket.c:2107 [inline] SyS_sendmsg+0x2d/0x50 net/socket.c:2103 do_syscall_64+0x1e8/0x640 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x42/0xb7 RIP: 0033:0x442019 RSP: 002b:00007ffc61d8fe98 EFLAGS: 00000246 ORIG_RAX: 000000000000002e RAX: ffffffffffffffda RBX: 0000000000000003 RCX: 0000000000442019 RDX: 0000000000000000 RSI: 00000000200000c0 RDI: 0000000000000003 RBP: 0000000000000000 R08: 00007ffcbb1414ac R09: 00007ffcbb1414ac R10: 00007ffcbb1414ac R11: 0000000000000246 R12: 000000000000b5ce R13: 0000000000402dc0 R14: 0000000000000000 R15: 0000000000000000 bond4: making interface gretap5 the new active one bond4: Enslaving gretap5 as an active interface with an up link syz-executor655 (7401) used greatest stack depth: 23208 bytes left 8021q: adding VLAN 0 to HW filter on device bond5 bond3: Enslaving bond5 as an active interface with a down link bond5: making interface gretap6 the new active one bond5: Enslaving gretap6 as an active interface with an up link 8021q: adding VLAN 0 to HW filter on device bond6 bond3: Enslaving bond6 as an active interface with a down link bond6: making interface gretap7 the new active one bond6: Enslaving gretap7 as an active interface with an up link 8021q: adding VLAN 0 to HW filter on device bond7 bond3: Enslaving bond7 as an active interface with a down link bond7: making interface gretap8 the new active one bond7: Enslaving gretap8 as an active interface with an up link 8021q: adding VLAN 0 to HW filter on device bond8 bond3: Enslaving bond8 as an active interface with a down link bond8: making interface gretap9 the new active one bond8: Enslaving gretap9 as an active interface with an up link 8021q: adding VLAN 0 to HW filter on device bond9 bond3: Enslaving bond9 as an active interface with a down link bond9: making interface gretap10 the new active one bond9: Enslaving gretap10 as an active interface with an up link bond0: Releasing active interface gretap1 bond3: Enslaving gretap1 as an active interface with an up link bond1: Releasing active interface gretap2 bond3: Enslaving gretap2 as an active interface with an up link bond2: Releasing active interface gretap3 bond3: Enslaving gretap3 as an active interface with an up link bond4: Releasing active interface gretap5 bond3: Enslaving gretap5 as an active interface with an up link bond5: Releasing active interface gretap6 bond3: Enslaving gretap6 as an active interface with an up link bond6: Releasing active interface gretap7 bond3: Enslaving gretap7 as an active interface with an up link bond7: Releasing active interface gretap8 bond3: Enslaving gretap8 as an active interface with an up link bond8: Releasing active interface gretap9 bond3: Enslaving gretap9 as an active interface with an up link bond9: Releasing active interface gretap10 bond3: Enslaving gretap10 as an active interface with an up link 8021q: adding VLAN 0 to HW filter on device bond10 bond3: Enslaving bond10 as an active interface with a down link bond10: making interface gretap11 the new active one bond10: Enslaving gretap11 as an active interface with an up link 8021q: adding VLAN 0 to HW filter on device bond11 bond3: Enslaving bond11 as an active interface with a down link bond11: making interface gretap12 the new active one bond11: Enslaving gretap12 as an active interface with an up link 8021q: adding VLAN 0 to HW filter on device bond12 bond3: Enslaving bond12 as an active interface with a down link bond12: making interface gretap13 the new active one bond12: Enslaving gretap13 as an active interface with an up link 8021q: adding VLAN 0 to HW filter on device bond13 bond3: Enslaving bond13 as an active interface with a down link bond13: making interface gretap14 the new active one bond13: Enslaving gretap14 as an active interface with an up link 8021q: adding VLAN 0 to HW filter on device bond14 bond3: Enslaving bond14 as an active interface with a down link bond14: making interface gretap15 the new active one bond14: Enslaving gretap15 as an active interface with an up link 8021q: adding VLAN 0 to HW filter on device bond15 bond3: Enslaving bond15 as an active interface with a down link bond15: making interface gretap16 the new active one bond15: Enslaving gretap16 as an active interface with an up link 8021q: adding VLAN 0 to HW filter on device bond16 bond3: Enslaving bond16 as an active interface with a down link bond16: making interface gretap17 the new active one bond16: Enslaving gretap17 as an active interface with an up link 8021q: adding VLAN 0 to HW filter on device bond17 bond3: Enslaving bond17 as an active interface with a down link bond17: making interface gretap18 the new active one bond17: Enslaving gretap18 as an active interface with an up link 8021q: adding VLAN 0 to HW filter on device bond18 bond3: Enslaving bond18 as an active interface with a down link bond18: making interface gretap19 the new active one bond18: Enslaving gretap19 as an active interface with an up link 8021q: adding VLAN 0 to HW filter on device bond19 bond3: Enslaving bond19 as an active interface with a down link bond19: making interface gretap20 the new active one bond19: Enslaving gretap20 as an active interface with an up link bond10: Releasing active interface gretap11 bond3: Enslaving gretap11 as an active interface with an up link bond11: Releasing active interface gretap12 bond3: Enslaving gretap12 as an active interface with an up link bond12: Releasing active interface gretap13 bond3: Enslaving gretap13 as an active interface with an up link bond13: Releasing active interface gretap14 bond3: Enslaving gretap14 as an active interface with an up link bond14: Releasing active interface gretap15 bond3: Enslaving gretap15 as an active interface with an up link bond15: Releasing active interface gretap16 bond3: Enslaving gretap16 as an active interface with an up link bond16: Releasing active interface gretap17 bond3: Enslaving gretap17 as an active interface with an up link bond17: Releasing active interface gretap18 bond3: Enslaving gretap18 as an active interface with an up link bond18: Releasing active interface gretap19 bond3: Enslaving gretap19 as an active interface with an up link bond19: Releasing active interface gretap20 bond3: Enslaving gretap20 as an active interface with an up link 8021q: adding VLAN 0 to HW filter on device bond20 bond3: Enslaving bond20 as an active interface with a down link bond20: making interface gretap21 the new active one bond20: Enslaving gretap21 as an active interface with an up link 8021q: adding VLAN 0 to HW filter on device bond21 bond3: Enslaving bond21 as an active interface with a down link bond21: making interface gretap22 the new active one bond21: Enslaving gretap22 as an active interface with an up link 8021q: adding VLAN 0 to HW filter on device bond22 bond3: Enslaving bond22 as an active interface with a down link bond22: making interface gretap23 the new active one bond22: Enslaving gretap23 as an active interface with an up link 8021q: adding VLAN 0 to HW filter on device bond23 bond3: Enslaving bond23 as an active interface with a down link bond23: making interface gretap24 the new active one bond23: Enslaving gretap24 as an active interface with an up link 8021q: adding VLAN 0 to HW filter on device bond24 bond3: Enslaving bond24 as an active interface with a down link bond24: making interface gretap25 the new active one bond24: Enslaving gretap25 as an active interface with an up link 8021q: adding VLAN 0 to HW filter on device bond25 bond3: Enslaving bond25 as an active interface with a down link bond25: making interface gretap26 the new active one bond25: Enslaving gretap26 as an active interface with an up link 8021q: adding VLAN 0 to HW filter on device bond26 bond3: Enslaving bond26 as an active interface with a down link bond26: making interface gretap27 the new active one bond26: Enslaving gretap27 as an active interface with an up link 8021q: adding VLAN 0 to HW filter on device bond27 bond3: Enslaving bond27 as an active interface with a down link bond27: making interface gretap28 the new active one bond27: Enslaving gretap28 as an active interface with an up link 8021q: adding VLAN 0 to HW filter on device bond28 bond3: Enslaving bond28 as an active interface with a down link bond28: making interface gretap29 the new active one bond28: Enslaving gretap29 as an active interface with an up link 8021q: adding VLAN 0 to HW filter on device bond29 bond3: Enslaving bond29 as an active interface with a down link bond29: making interface gretap30 the new active one bond29: Enslaving gretap30 as an active interface with an up link bond20: Releasing active interface gretap21 bond3: Enslaving gretap21 as an active interface with an up link bond21: Releasing active interface gretap22 bond3: Enslaving gretap22 as an active interface with an up link bond22: Releasing active interface gretap23 bond3: Enslaving gretap23 as an active interface with an up link bond23: Releasing active interface gretap24 bond3: Enslaving gretap24 as an active interface with an up link bond24: Releasing active interface gretap25 bond3: Enslaving gretap25 as an active interface with an up link bond25: Releasing active interface gretap26 bond3: Enslaving gretap26 as an active interface with an up link bond26: Releasing active interface gretap27 bond3: Enslaving gretap27 as an active interface with an up link bond27: Releasing active interface gretap28 bond3: Enslaving gretap28 as an active interface with an up link bond28: Releasing active interface gretap29 bond3: Enslaving gretap29 as an active interface with an up link bond29: Releasing active interface gretap30 bond3: Enslaving gretap30 as an active interface with an up link 8021q: adding VLAN 0 to HW filter on device bond30 bond3: Enslaving bond30 as an active interface with a down link bond30: making interface gretap31 the new active one bond30: Enslaving gretap31 as an active interface with an up link 8021q: adding VLAN 0 to HW filter on device bond31 bond3: Enslaving bond31 as an active interface with a down link bond31: making interface gretap32 the new active one bond31: Enslaving gretap32 as an active interface with an up link 8021q: adding VLAN 0 to HW filter on device bond32 bond3: Enslaving bond32 as an active interface with a down link bond32: making interface gretap33 the new active one bond32: Enslaving gretap33 as an active interface with an up link 8021q: adding VLAN 0 to HW filter on device bond33 bond3: Enslaving bond33 as an active interface with a down link bond33: making interface gretap34 the new active one bond33: Enslaving gretap34 as an active interface with an up link 8021q: adding VLAN 0 to HW filter on device bond34 bond3: Enslaving bond34 as an active interface with a down link bond34: making interface gretap35 the new active one bond34: Enslaving gretap35 as an active interface with an up link 8021q: adding VLAN 0 to HW filter on device bond35 bond3: Enslaving bond35 as an active interface with a down link bond35: making interface gretap36 the new active one bond35: Enslaving gretap36 as an active interface with an up link 8021q: adding VLAN 0 to HW filter on device bond36 bond3: Enslaving bond36 as an active interface with a down link bond36: making interface gretap37 the new active one bond36: Enslaving gretap37 as an active interface with an up link 8021q: adding VLAN 0 to HW filter on device bond37 bond3: Enslaving bond37 as an active interface with a down link bond37: making interface gretap38 the new active one bond37: Enslaving gretap38 as an active interface with an up link 8021q: adding VLAN 0 to HW filter on device bond38 bond3: Enslaving bond38 as an active interface with a down link bond38: making interface gretap39 the new active one bond38: Enslaving gretap39 as an active interface with an up link 8021q: adding VLAN 0 to HW filter on device bond39 bond3: Enslaving bond39 as an active interface with a down link bond39: making interface gretap40 the new active one bond39: Enslaving gretap40 as an active interface with an up link bond30: Releasing active interface gretap31 bond3: Enslaving gretap31 as an active interface with an up link bond31: Releasing active interface gretap32 bond3: Enslaving gretap32 as an active interface with an up link bond32: Releasing active interface gretap33 bond3: Enslaving gretap33 as an active interface with an up link bond33: Releasing active interface gretap34 bond3: Enslaving gretap34 as an active interface with an up link bond34: Releasing active interface gretap35 bond3: Enslaving gretap35 as an active interface with an up link bond35: Releasing active interface gretap36 bond3: Enslaving gretap36 as an active interface with an up link bond36: Releasing active interface gretap37 bond3: Enslaving gretap37 as an active interface with an up link bond37: Releasing active interface gretap38 bond3: Enslaving gretap38 as an active interface with an up link bond38: Releasing active interface gretap39 bond3: Enslaving gretap39 as an active interface with an up link bond39: Releasing active interface gretap40 bond3: Enslaving gretap40 as an active interface with an up link 8021q: adding VLAN 0 to HW filter on device bond40 bond3: Enslaving bond40 as an active interface with a down link bond40: making interface gretap41 the new active one bond40: Enslaving gretap41 as an active interface with an up link 8021q: adding VLAN 0 to HW filter on device bond41 bond3: Enslaving bond41 as an active interface with a down link bond41: making interface gretap42 the new active one bond41: Enslaving gretap42 as an active interface with an up link 8021q: adding VLAN 0 to HW filter on device bond42 bond3: Enslaving bond42 as an active interface with a down link bond42: making interface gretap43 the new active one bond42: Enslaving gretap43 as an active interface with an up link 8021q: adding VLAN 0 to HW filter on device bond43 bond3: Enslaving bond43 as an active interface with a down link bond43: making interface gretap44 the new active one bond43: Enslaving gretap44 as an active interface with an up link 8021q: adding VLAN 0 to HW filter on device bond44 bond3: Enslaving bond44 as an active interface with a down link bond44: making interface gretap45 the new active one bond44: Enslaving gretap45 as an active interface with an up link 8021q: adding VLAN 0 to HW filter on device bond45 bond3: Enslaving bond45 as an active interface with a down link bond45: making interface gretap46 the new active one bond45: Enslaving gretap46 as an active interface with an up link 8021q: adding VLAN 0 to HW filter on device bond46 bond3: Enslaving bond46 as an active interface with a down link bond46: making interface gretap47 the new active one bond46: Enslaving gretap47 as an active interface with an up link