netlink: 4 bytes leftover after parsing attributes in process `syz-executor.1'. 8021q: adding VLAN 0 to HW filter on device bond1 bond0: Enslaving bond1 as an active interface with an up link device bridge1 entered promiscuous mode ============================================ WARNING: possible recursive locking detected 4.14.289-syzkaller #0 Not tainted -------------------------------------------- syz-executor.5/10970 is trying to acquire lock: (&(&bond->stats_lock)->rlock#3/3){+.+.}, at: [] bond_get_stats+0xb7/0x440 drivers/net/bonding/bond_main.c:3459 but task is already holding lock: (&(&bond->stats_lock)->rlock#3/3){+.+.}, at: [] bond_get_stats+0xb7/0x440 drivers/net/bonding/bond_main.c:3459 other info that might help us debug this: Possible unsafe locking scenario: CPU0 PM: Basic memory bitmaps freed ---- lock(&(&bond->stats_lock)->rlock#3/3); lock(&(&bond->stats_lock)->rlock#3/3); *** DEADLOCK *** May be due to missing lock nesting notation 3 locks held by syz-executor.5/10970: #0: (rtnl_mutex){+.+.}, at: [] rtnl_lock net/core/rtnetlink.c:72 [inline] #0: (rtnl_mutex){+.+.}, at: [] rtnetlink_rcv_msg+0x31d/0xb10 net/core/rtnetlink.c:4317 #1: (&(&bond->stats_lock)->rlock#3/3){+.+.}, at: [] bond_get_stats+0xb7/0x440 drivers/net/bonding/bond_main.c:3459 #2: (rcu_read_lock){....}, at: [] bond_get_nest_level drivers/net/bonding/bond_main.c:3448 [inline] #2: (rcu_read_lock){....}, at: [] bond_get_stats+0x9b/0x440 drivers/net/bonding/bond_main.c:3459 stack backtrace: CPU: 1 PID: 10970 Comm: syz-executor.5 Not tainted 4.14.289-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/29/2022 Call Trace: __dump_stack lib/dump_stack.c:17 [inline] dump_stack+0x1b2/0x281 lib/dump_stack.c:58 print_deadlock_bug kernel/locking/lockdep.c:1800 [inline] check_deadlock kernel/locking/lockdep.c:1847 [inline] validate_chain kernel/locking/lockdep.c:2448 [inline] __lock_acquire.cold+0x180/0x97c kernel/locking/lockdep.c:3491 lock_acquire+0x170/0x3f0 kernel/locking/lockdep.c:3998 _raw_spin_lock_nested+0x30/0x40 kernel/locking/spinlock.c:362 bond_get_stats+0xb7/0x440 drivers/net/bonding/bond_main.c:3459 dev_get_stats+0xa5/0x280 net/core/dev.c:8019 bond_get_stats+0x1da/0x440 drivers/net/bonding/bond_main.c:3465 dev_get_stats+0xa5/0x280 net/core/dev.c:8019 rtnl_fill_stats+0x48/0xa90 net/core/rtnetlink.c:1079 rtnl_fill_ifinfo+0xe16/0x3050 net/core/rtnetlink.c:1385 rtmsg_ifinfo_build_skb+0x8e/0x130 net/core/rtnetlink.c:2915 rtmsg_ifinfo_event net/core/rtnetlink.c:2945 [inline] rtmsg_ifinfo_event net/core/rtnetlink.c:2936 [inline] rtnetlink_event+0xee/0x1a0 net/core/rtnetlink.c:4366 notifier_call_chain+0x108/0x1a0 kernel/notifier.c:93 call_netdevice_notifiers_info net/core/dev.c:1667 [inline] call_netdevice_notifiers net/core/dev.c:1683 [inline] netdev_features_change net/core/dev.c:1296 [inline] netdev_change_features+0x7e/0xa0 net/core/dev.c:7457 bond_compute_features+0x444/0x860 drivers/net/bonding/bond_main.c:1122 bond_slave_netdev_event drivers/net/bonding/bond_main.c:3193 [inline] bond_netdev_event+0x664/0xbd0 drivers/net/bonding/bond_main.c:3234 notifier_call_chain+0x108/0x1a0 kernel/notifier.c:93 call_netdevice_notifiers_info net/core/dev.c:1667 [inline] call_netdevice_notifiers net/core/dev.c:1683 [inline] netdev_features_change net/core/dev.c:1296 [inline] netdev_change_features+0x7e/0xa0 net/core/dev.c:7457 bond_compute_features+0x444/0x860 drivers/net/bonding/bond_main.c:1122 bond_enslave+0x37fb/0x4cf0 drivers/net/bonding/bond_main.c:1757 do_set_master+0x19e/0x200 net/core/rtnetlink.c:1961 rtnl_newlink+0x1356/0x1830 net/core/rtnetlink.c:2759 rtnetlink_rcv_msg+0x3be/0xb10 net/core/rtnetlink.c:4322 netlink_rcv_skb+0x125/0x390 net/netlink/af_netlink.c:2454 netlink_unicast_kernel net/netlink/af_netlink.c:1296 [inline] netlink_unicast+0x437/0x610 net/netlink/af_netlink.c:1322 netlink_sendmsg+0x648/0xbc0 net/netlink/af_netlink.c:1893 sock_sendmsg_nosec net/socket.c:646 [inline] sock_sendmsg+0xb5/0x100 net/socket.c:656 ___sys_sendmsg+0x6c8/0x800 net/socket.c:2062 __sys_sendmsg+0xa3/0x120 net/socket.c:2096 SYSC_sendmsg net/socket.c:2107 [inline] SyS_sendmsg+0x27/0x40 net/socket.c:2103 do_syscall_64+0x1d5/0x640 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x46/0xbb RIP: 0033:0x7f70d4f51209 RSP: 002b:00007f70d38c6168 EFLAGS: 00000246 ORIG_RAX: 000000000000002e RAX: ffffffffffffffda RBX: 00007f70d5063f60 RCX: 00007f70d4f51209 RDX: 0000000000000000 RSI: 0000000020000240 RDI: 0000000000000005 RBP: 00007f70d4fab161 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 00007fffc1672ebf R14: 00007f70d38c6300 R15: 0000000000022000 bond1: Enslaving vlan2 as an active interface with an up link FAT-fs (loop4): bogus number of reserved sectors FAT-fs (loop4): Can't find a valid FAT filesystem 8021q: adding VLAN 0 to HW filter on device bond3 bond0: Enslaving bond3 as an active interface with an up link 8021q: adding VLAN 0 to HW filter on device bond1 bond0: Enslaving bond1 as an active interface with an up link FAT-fs (loop4): bogus number of reserved sectors FAT-fs (loop4): Can't find a valid FAT filesystem device bridge1 entered promiscuous mode bond1: Enslaving vlan2 as an active interface with an up link FAT-fs (loop4): bogus number of reserved sectors 8021q: adding VLAN 0 to HW filter on device team0 FAT-fs (loop4): Can't find a valid FAT filesystem bond0: Enslaving team0 as an active interface with an up link input: syz1 as /devices/virtual/input/input5 input: syz1 as /devices/virtual/input/input8 input: syz1 as /devices/virtual/input/input9 PM: Marking nosave pages: [mem 0x00000000-0x00000fff] PM: Marking nosave pages: [mem 0x0009f000-0x000fffff] PM: Marking nosave pages: [mem 0xbfffd000-0xffffffff] PM: Basic memory bitmaps created PM: Basic memory bitmaps freed PM: Marking nosave pages: [mem 0x00000000-0x00000fff] PM: Marking nosave pages: [mem 0x0009f000-0x000fffff] PM: Marking nosave pages: [mem 0xbfffd000-0xffffffff] PM: Basic memory bitmaps created PM: Basic memory bitmaps freed EXT4-fs (loop3): ext4_check_descriptors: Block bitmap for group 0 not in group (block 0)! EXT4-fs (loop3): group descriptors corrupted! PM: Marking nosave pages: [mem 0x00000000-0x00000fff] PM: Marking nosave pages: [mem 0x0009f000-0x000fffff] PM: Marking nosave pages: [mem 0xbfffd000-0xffffffff] PM: Basic memory bitmaps created PM: Basic memory bitmaps freed PM: Marking nosave pages: [mem 0x00000000-0x00000fff] PM: Marking nosave pages: [mem 0x0009f000-0x000fffff] PM: Marking nosave pages: [mem 0xbfffd000-0xffffffff] PM: Basic memory bitmaps created PM: Basic memory bitmaps freed PM: Marking nosave pages: [mem 0x00000000-0x00000fff] PM: Marking nosave pages: [mem 0x0009f000-0x000fffff] PM: Marking nosave pages: [mem 0xbfffd000-0xffffffff] EXT4-fs (loop3): VFS: Can't find ext4 filesystem PM: Basic memory bitmaps created EXT4-fs (loop1): ext4_check_descriptors: Block bitmap for group 0 not in group (block 0)! EXT4-fs (loop1): group descriptors corrupted! PM: Basic memory bitmaps freed EXT4-fs (loop1): VFS: Can't find ext4 filesystem print_req_error: I/O error, dev loop5, sector 0 EXT4-fs (loop3): ext4_check_descriptors: Block bitmap for group 0 not in group (block 0)! PM: Marking nosave pages: [mem 0x00000000-0x00000fff] EXT4-fs (loop3): group descriptors corrupted! PM: Marking nosave pages: [mem 0x0009f000-0x000fffff] PM: Marking nosave pages: [mem 0xbfffd000-0xffffffff] EXT4-fs (loop3): VFS: Can't find ext4 filesystem EXT4-fs (loop3): VFS: Can't find ext4 filesystem PM: Basic memory bitmaps created EXT4-fs (loop3): VFS: Can't find ext4 filesystem PM: Basic memory bitmaps freed EXT4-fs (loop3): VFS: Can't find ext4 filesystem EXT4-fs (loop3): VFS: Can't find ext4 filesystem EXT4-fs (loop3): VFS: Can't find ext4 filesystem EXT4-fs (loop3): VFS: Can't find ext4 filesystem EXT4-fs (loop3): VFS: Can't find ext4 filesystem EXT4-fs (loop3): VFS: Can't find ext4 filesystem device veth0_macvtap left promiscuous mode bond0: Error: Device is in use and cannot be enslaved bond0: Releasing backup interface team0 bridge0: port 3(team0) entered blocking state bridge0: port 3(team0) entered disabled state device team0 entered promiscuous mode device team_slave_0 entered promiscuous mode device team_slave_1 entered promiscuous mode bond0: Error: Device is in use and cannot be enslaved tc_dump_action: action bad kind device veth0_macvtap left promiscuous mode bond0: Error: Device is in use and cannot be enslaved tc_dump_action: action bad kind bond0: Releasing backup interface team0 bridge0: port 3(team0) entered blocking state bridge0: port 3(team0) entered disabled state device team0 entered promiscuous mode device team_slave_0 entered promiscuous mode device team_slave_1 entered promiscuous mode device veth0_macvtap left promiscuous mode bond0: Error: Device is in use and cannot be enslaved bond0: Error: Device is in use and cannot be enslaved tc_dump_action: action bad kind bridge0: port 3(team0) entered blocking state bridge0: port 3(team0) entered disabled state device team0 entered promiscuous mode device team_slave_0 entered promiscuous mode device team_slave_1 entered promiscuous mode bridge0: port 3(team0) entered blocking state bridge0: port 3(team0) entered forwarding state tc_dump_action: action bad kind bond0: Error: Device is in use and cannot be enslaved tc_dump_action: action bad kind bond0: Error: Device is in use and cannot be enslaved tc_dump_action: action bad kind bond0: Error: Device is in use and cannot be enslaved tc_dump_action: action bad kind tc_dump_action: action bad kind bond0: Error: Device is in use and cannot be enslaved tc_dump_action: action bad kind bond0: Error: Device is in use and cannot be enslaved bond0: Error: Device is in use and cannot be enslaved bond0: Error: Device is in use and cannot be enslaved bond0: Error: Device is in use and cannot be enslaved device veth0_macvtap left promiscuous mode bond0: Error: Device is in use and cannot be enslaved bond0: Error: Device is in use and cannot be enslaved bond0: Error: Device is in use and cannot be enslaved bridge0: port 3(team0) entered blocking state bridge0: port 3(team0) entered disabled state device team0 entered promiscuous mode device team_slave_0 entered promiscuous mode device team_slave_1 entered promiscuous mode device ipvlan1 entered promiscuous mode bridge0: port 3(team0) entered blocking state bridge0: port 3(team0) entered forwarding state bond0: Error: Device is in use and cannot be enslaved bond0: Error: Device is in use and cannot be enslaved bond0: Error: Device is in use and cannot be enslaved bond0: Error: Device is in use and cannot be enslaved bond0: Error: Device is in use and cannot be enslaved bond0: Error: Device is in use and cannot be enslaved bond0: Error: Device is in use and cannot be enslaved bond0: Error: Device is in use and cannot be enslaved bond0: Error: Device is in use and cannot be enslaved bond0: Error: Device is in use and cannot be enslaved bond0: Error: Device is in use and cannot be enslaved bond0: Error: Device is in use and cannot be enslaved bond0: Error: Device is in use and cannot be enslaved bond0: Error: Device is in use and cannot be enslaved bond0: Error: Device is in use and cannot be enslaved bond0: Error: Device is in use and cannot be enslaved bond0: Error: Device is in use and cannot be enslaved bond0: Error: Device is in use and cannot be enslaved bond0: Error: Device is in use and cannot be enslaved bond0: Error: Device is in use and cannot be enslaved bond0: Error: Device is in use and cannot be enslaved A link change request failed with some changes committed already. Interface ipvlan0 may have been left with an inconsistent configuration, please check. bond0: Error: Device is in use and cannot be enslaved bond0: Error: Device is in use and cannot be enslaved bond0: Error: Device is in use and cannot be enslaved bond0: Error: Device is in use and cannot be enslaved A link change request failed with some changes committed already. Interface ipvlan0 may have been left with an inconsistent configuration, please check. bond0: Error: Device is in use and cannot be enslaved bond0: Error: Device is in use and cannot be enslaved A link change request failed with some changes committed already. Interface ipvlan0 may have been left with an inconsistent configuration, please check. bond0: Error: Device is in use and cannot be enslaved bond0: Error: Device is in use and cannot be enslaved bond0: Error: Device is in use and cannot be enslaved bond0: Error: Device is in use and cannot be enslaved bond0: Error: Device is in use and cannot be enslaved bond0: Error: Device is in use and cannot be enslaved bond0: Error: Device is in use and cannot be enslaved device veth0_macvtap left promiscuous mode bond0: Error: Device is in use and cannot be enslaved bridge0: port 3(team0) entered blocking state bridge0: port 3(team0) entered disabled state device team0 entered promiscuous mode device team_slave_0 entered promiscuous mode device team_slave_1 entered promiscuous mode device ipvlan1 entered promiscuous mode bridge0: port 3(team0) entered blocking state bridge0: port 3(team0) entered forwarding state bond0: Error: Device is in use and cannot be enslaved bond0: Error: Device is in use and cannot be enslaved