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.19.98-syzkaller #0 Not tainted -------------------------------------------- syz-executor231/8208 is trying to acquire lock: 0000000028391afe (&(&bond->stats_lock)->rlock#2/2){+.+.}, at: bond_get_stats+0xe1/0x560 drivers/net/bonding/bond_main.c:3450 but task is already holding lock: 00000000ac6c7c64 (&(&bond->stats_lock)->rlock#2/2){+.+.}, at: bond_get_stats+0xe1/0x560 drivers/net/bonding/bond_main.c:3450 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-executor231/8208: #0: 0000000022c7fac6 (rtnl_mutex){+.+.}, at: rtnl_lock net/core/rtnetlink.c:77 [inline] #0: 0000000022c7fac6 (rtnl_mutex){+.+.}, at: rtnetlink_rcv_msg+0x40a/0xb00 net/core/rtnetlink.c:4765 #1: 00000000ac6c7c64 (&(&bond->stats_lock)->rlock#2/2){+.+.}, at: bond_get_stats+0xe1/0x560 drivers/net/bonding/bond_main.c:3450 #2: 0000000055226510 (rcu_read_lock){....}, at: bond_get_nest_level drivers/net/bonding/bond_main.c:3439 [inline] #2: 0000000055226510 (rcu_read_lock){....}, at: bond_get_stats+0xc0/0x560 drivers/net/bonding/bond_main.c:3450 stack backtrace: CPU: 1 PID: 8208 Comm: syz-executor231 Not tainted 4.19.98-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0x197/0x210 lib/dump_stack.c:118 print_deadlock_bug kernel/locking/lockdep.c:1759 [inline] check_deadlock kernel/locking/lockdep.c:1803 [inline] validate_chain kernel/locking/lockdep.c:2399 [inline] __lock_acquire.cold+0x20f/0x4a7 kernel/locking/lockdep.c:3411 lock_acquire+0x16f/0x3f0 kernel/locking/lockdep.c:3903 _raw_spin_lock_nested+0x35/0x50 kernel/locking/spinlock.c:354 bond_get_stats+0xe1/0x560 drivers/net/bonding/bond_main.c:3450 dev_get_stats+0x8e/0x280 net/core/dev.c:9049 bond_get_stats+0x23e/0x560 drivers/net/bonding/bond_main.c:3456 dev_get_stats+0x8e/0x280 net/core/dev.c:9049 rtnl_fill_stats+0x4d/0xac0 net/core/rtnetlink.c:1176 rtnl_fill_ifinfo+0x1101/0x3660 net/core/rtnetlink.c:1663 rtmsg_ifinfo_build_skb+0xcd/0x1a0 net/core/rtnetlink.c:3347 rtmsg_ifinfo_event.part.0+0x43/0xe0 net/core/rtnetlink.c:3379 rtmsg_ifinfo_event net/core/rtnetlink.c:4826 [inline] rtnetlink_event+0x12c/0x150 net/core/rtnetlink.c:4819 notifier_call_chain+0xc2/0x230 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+0x3f/0x90 net/core/dev.c:1748 call_netdevice_notifiers net/core/dev.c:1766 [inline] netdev_features_change net/core/dev.c:1334 [inline] netdev_change_features+0x7e/0xb0 net/core/dev.c:8487 bond_compute_features.isra.0+0x4de/0x950 drivers/net/bonding/bond_main.c:1116 bond_slave_netdev_event drivers/net/bonding/bond_main.c:3184 [inline] bond_netdev_event+0x537/0xb30 drivers/net/bonding/bond_main.c:3225 notifier_call_chain+0xc2/0x230 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+0x3f/0x90 net/core/dev.c:1748 call_netdevice_notifiers net/core/dev.c:1766 [inline] netdev_features_change net/core/dev.c:1334 [inline] netdev_change_features+0x7e/0xb0 net/core/dev.c:8487 bond_compute_features.isra.0+0x4de/0x950 drivers/net/bonding/bond_main.c:1116 bond_enslave+0x1740/0x5310 drivers/net/bonding/bond_main.c:1754 do_set_master net/core/rtnetlink.c:2321 [inline] do_set_master+0x1ca/0x230 net/core/rtnetlink.c:2295 rtnl_newlink+0x12a7/0x1600 net/core/rtnetlink.c:3160 rtnetlink_rcv_msg+0x463/0xb00 net/core/rtnetlink.c:4768 netlink_rcv_skb+0x17d/0x460 net/netlink/af_netlink.c:2454 rtnetlink_rcv+0x1d/0x30 net/core/rtnetlink.c:4786 netlink_unicast_kernel net/netlink/af_netlink.c:1317 [inline] netlink_unicast+0x53a/0x730 net/netlink/af_netlink.c:1343 netlink_sendmsg+0x8ae/0xd70 net/netlink/af_netlink.c:1908 sock_sendmsg_nosec net/socket.c:622 [inline] sock_sendmsg+0xd7/0x130 net/socket.c:632 ___sys_sendmsg+0x803/0x920 net/socket.c:2115 __sys_sendmsg+0x105/0x1d0 net/socket.c:2153 __do_sys_sendmsg net/socket.c:2162 [inline] __se_sys_sendmsg net/socket.c:2160 [inline] __x64_sys_sendmsg+0x78/0xb0 net/socket.c:2160 do_syscall_64+0xfd/0x620 arch/x86/entry/common.c:293 entry_SYSCALL_64_after_hwframe+0x49/0xbe RIP: 0033:0x442019 Code: e8 8c 07 03 00 48 83 c4 18 c3 0f 1f 80 00 00 00 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 0f 83 8b 08 fc ff c3 66 2e 0f 1f 84 00 00 00 00 RSP: 002b:00007ffdb57acf98 EFLAGS: 00000246 ORIG_RAX: 000000000000002e RAX: ffffffffffffffda RBX: 0000000000000003 RCX: 0000000000442019 RDX: 0000000000000000 RSI: 00000000200000c0 RDI: 0000000000000003 RBP: 0000000000000000 R08: 00007ffdbb1414ac R09: 00007ffdbb1414ac R10: 00007ffdbb1414ac R11: 0000000000000246 R12: 00000000000105f9 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-executor231 (8208) used greatest stack depth: 21648 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 validate_nla: 32 callbacks suppressed netlink: 'syz-executor231': attribute type 1 has an invalid length. bond12: Releasing active interface gretap13 bond3: Enslaving gretap13 as an active interface with an up link netlink: 'syz-executor231': attribute type 1 has an invalid length. bond13: Releasing active interface gretap14 bond3: Enslaving gretap14 as an active interface with an up link netlink: 'syz-executor231': attribute type 1 has an invalid length. bond14: Releasing active interface gretap15 bond3: Enslaving gretap15 as an active interface with an up link netlink: 'syz-executor231': attribute type 1 has an invalid length. bond15: Releasing active interface gretap16 bond3: Enslaving gretap16 as an active interface with an up link netlink: 'syz-executor231': attribute type 1 has an invalid length. bond16: Releasing active interface gretap17 bond3: Enslaving gretap17 as an active interface with an up link netlink: 'syz-executor231': attribute type 1 has an invalid length. bond17: Releasing active interface gretap18 bond3: Enslaving gretap18 as an active interface with an up link netlink: 'syz-executor231': attribute type 1 has an invalid length. bond18: Releasing active interface gretap19 bond3: Enslaving gretap19 as an active interface with an up link netlink: 'syz-executor231': attribute type 1 has an invalid length. bond19: Releasing active interface gretap20 bond3: Enslaving gretap20 as an active interface with an up link netlink: 'syz-executor231': attribute type 1 has an invalid length. 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 netlink: 'syz-executor231': attribute type 1 has an invalid length. 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 validate_nla: 32 callbacks suppressed netlink: 'syz-executor231': attribute type 1 has an invalid length. bond34: Releasing active interface gretap35 bond3: Enslaving gretap35 as an active interface with an up link netlink: 'syz-executor231': attribute type 1 has an invalid length. bond35: Releasing active interface gretap36 bond3: Enslaving gretap36 as an active interface with an up link netlink: 'syz-executor231': attribute type 1 has an invalid length. bond36: Releasing active interface gretap37 bond3: Enslaving gretap37 as an active interface with an up link netlink: 'syz-executor231': attribute type 1 has an invalid length. bond37: Releasing active interface gretap38 bond3: Enslaving gretap38 as an active interface with an up link netlink: 'syz-executor231': attribute type 1 has an invalid length. bond38: Releasing active interface gretap39 bond3: Enslaving gretap39 as an active interface with an up link netlink: 'syz-executor231': attribute type 1 has an invalid length. bond39: Releasing active interface gretap40 bond3: Enslaving gretap40 as an active interface with an up link netlink: 'syz-executor231': attribute type 1 has an invalid length. 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 netlink: 'syz-executor231': attribute type 1 has an invalid length. 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 netlink: 'syz-executor231': attribute type 1 has an invalid length. 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