device macsec6 entered promiscuous mode device bond0 entered promiscuous mode ===================================================== WARNING: SOFTIRQ-safe -> SOFTIRQ-unsafe lock order detected 5.6.0-rc1-syzkaller #0 Not tainted ----------------------------------------------------- syz-executor.4/19727 [HC0[0]:SC0[2]:HE1:SE0] is trying to acquire: ffff888057940c08 (&bond->stats_lock_key#18/1){+.+.}, at: bond_get_stats+0x12c/0x520 drivers/net/bonding/bond_main.c:3585 and this task is already holding: ffff888048dc8280 (&dev->addr_list_lock_key#1547){+...}, at: spin_lock_bh include/linux/spinlock.h:343 [inline] ffff888048dc8280 (&dev->addr_list_lock_key#1547){+...}, at: netif_addr_lock_bh include/linux/netdevice.h:4162 [inline] ffff888048dc8280 (&dev->addr_list_lock_key#1547){+...}, at: dev_uc_add+0x25/0xc0 net/core/dev_addr_lists.c:588 which would create a new lock dependency: (&dev->addr_list_lock_key#1547){+...} -> (&bond->stats_lock_key#18/1){+.+.} but this new dependency connects a SOFTIRQ-irq-safe lock: (&(&mc->mca_lock)->rlock){+.-.} ... which became SOFTIRQ-irq-safe at: lock_acquire+0x190/0x410 kernel/locking/lockdep.c:4484 __raw_spin_lock_bh include/linux/spinlock_api_smp.h:135 [inline] _raw_spin_lock_bh+0x33/0x50 kernel/locking/spinlock.c:175 spin_lock_bh include/linux/spinlock.h:343 [inline] mld_send_cr net/ipv6/mcast.c:1953 [inline] mld_ifc_timer_expire+0x2c6/0x950 net/ipv6/mcast.c:2477 call_timer_fn+0x1ac/0x780 kernel/time/timer.c:1404 expire_timers kernel/time/timer.c:1449 [inline] __run_timers kernel/time/timer.c:1773 [inline] __run_timers kernel/time/timer.c:1740 [inline] run_timer_softirq+0x6c3/0x1790 kernel/time/timer.c:1786 __do_softirq+0x262/0x98c kernel/softirq.c:292 invoke_softirq kernel/softirq.c:373 [inline] irq_exit+0x19b/0x1e0 kernel/softirq.c:413 exiting_irq arch/x86/include/asm/apic.h:546 [inline] smp_apic_timer_interrupt+0x1a3/0x610 arch/x86/kernel/apic/apic.c:1146 apic_timer_interrupt+0xf/0x20 arch/x86/entry/entry_64.S:829 anon_vma_clone+0x13c/0x5f0 mm/rmap.c:297 anon_vma_fork+0x8f/0x4a0 mm/rmap.c:352 dup_mmap kernel/fork.c:559 [inline] dup_mm+0xa47/0x1430 kernel/fork.c:1360 copy_mm kernel/fork.c:1416 [inline] copy_process+0x2987/0x7290 kernel/fork.c:2081 _do_fork+0x146/0x1090 kernel/fork.c:2430 __do_sys_clone kernel/fork.c:2585 [inline] __se_sys_clone kernel/fork.c:2566 [inline] __x64_sys_clone+0x19a/0x260 kernel/fork.c:2566 do_syscall_64+0xfa/0x790 arch/x86/entry/common.c:294 entry_SYSCALL_64_after_hwframe+0x49/0xbe to a SOFTIRQ-irq-unsafe lock: (&bond->stats_lock_key#18/1){+.+.} ... which became SOFTIRQ-irq-unsafe at: ... lock_acquire+0x190/0x410 kernel/locking/lockdep.c:4484 _raw_spin_lock_nested+0x35/0x50 kernel/locking/spinlock.c:361 bond_get_stats+0x12c/0x520 drivers/net/bonding/bond_main.c:3585 dev_get_stats+0x8e/0x280 net/core/dev.c:9694 rtnl_fill_stats+0x4d/0xac0 net/core/rtnetlink.c:1192 rtnl_fill_ifinfo+0x1107/0x3be0 net/core/rtnetlink.c:1734 rtmsg_ifinfo_build_skb+0xcd/0x1a0 net/core/rtnetlink.c:3685 rtmsg_ifinfo_event.part.0+0x43/0xe0 net/core/rtnetlink.c:3717 rtmsg_ifinfo_event net/core/rtnetlink.c:5494 [inline] rtnetlink_event+0x12c/0x150 net/core/rtnetlink.c:5487 notifier_call_chain+0xc2/0x230 kernel/notifier.c:83 __raw_notifier_call_chain kernel/notifier.c:361 [inline] raw_notifier_call_chain+0x2e/0x40 kernel/notifier.c:368 call_netdevice_notifiers_info net/core/dev.c:1948 [inline] call_netdevice_notifiers_info+0xba/0x130 net/core/dev.c:1933 call_netdevice_notifiers_extack net/core/dev.c:1960 [inline] call_netdevice_notifiers net/core/dev.c:1974 [inline] netdev_features_change net/core/dev.c:1364 [inline] netdev_change_features+0x7e/0xb0 net/core/dev.c:9098 bond_compute_features.isra.0+0x56a/0xa80 drivers/net/bonding/bond_main.c:1188 bond_enslave+0x3571/0x4af0 drivers/net/bonding/bond_main.c:1818 do_set_master net/core/rtnetlink.c:2468 [inline] do_set_master+0x1dd/0x240 net/core/rtnetlink.c:2441 do_setlink+0xad2/0x3720 net/core/rtnetlink.c:2603 __rtnl_newlink+0xbef/0x1790 net/core/rtnetlink.c:3252 rtnl_newlink+0x69/0xa0 net/core/rtnetlink.c:3377 rtnetlink_rcv_msg+0x45e/0xaf0 net/core/rtnetlink.c:5436 netlink_rcv_skb+0x177/0x450 net/netlink/af_netlink.c:2477 rtnetlink_rcv+0x1d/0x30 net/core/rtnetlink.c:5454 netlink_unicast_kernel net/netlink/af_netlink.c:1302 [inline] netlink_unicast+0x59e/0x7e0 net/netlink/af_netlink.c:1328 netlink_sendmsg+0x91c/0xea0 net/netlink/af_netlink.c:1917 sock_sendmsg_nosec net/socket.c:652 [inline] sock_sendmsg+0xd7/0x130 net/socket.c:672 __sys_sendto+0x262/0x380 net/socket.c:1998 __do_sys_sendto net/socket.c:2010 [inline] __se_sys_sendto net/socket.c:2006 [inline] __x64_sys_sendto+0xe1/0x1a0 net/socket.c:2006 do_syscall_64+0xfa/0x790 arch/x86/entry/common.c:294 entry_SYSCALL_64_after_hwframe+0x49/0xbe other info that might help us debug this: Chain exists of: &(&mc->mca_lock)->rlock --> &dev->addr_list_lock_key#1547 --> &bond->stats_lock_key#18/1 Possible interrupt unsafe locking scenario: CPU0 CPU1 ---- ---- lock(&bond->stats_lock_key#18/1); local_irq_disable(); lock(&(&mc->mca_lock)->rlock); lock(&dev->addr_list_lock_key#1547); lock(&(&mc->mca_lock)->rlock); *** DEADLOCK *** 3 locks held by syz-executor.4/19727: #0: ffffffff8a74d400 (rtnl_mutex){+.+.}, at: rtnl_lock net/core/rtnetlink.c:72 [inline] #0: ffffffff8a74d400 (rtnl_mutex){+.+.}, at: rtnetlink_rcv_msg+0x405/0xaf0 net/core/rtnetlink.c:5433 #1: ffff888048dc8280 (&dev->addr_list_lock_key#1547){+...}, at: spin_lock_bh include/linux/spinlock.h:343 [inline] #1: ffff888048dc8280 (&dev->addr_list_lock_key#1547){+...}, at: netif_addr_lock_bh include/linux/netdevice.h:4162 [inline] #1: ffff888048dc8280 (&dev->addr_list_lock_key#1547){+...}, at: dev_uc_add+0x25/0xc0 net/core/dev_addr_lists.c:588 #2: ffffffff89bac240 (rcu_read_lock){....}, at: bond_get_stats+0x0/0x520 drivers/net/bonding/bond_main.c:2666 the dependencies between SOFTIRQ-irq-safe lock and the holding lock: -> (&(&mc->mca_lock)->rlock){+.-.} { HARDIRQ-ON-W at: lock_acquire+0x190/0x410 kernel/locking/lockdep.c:4484 __raw_spin_lock_bh include/linux/spinlock_api_smp.h:135 [inline] _raw_spin_lock_bh+0x33/0x50 kernel/locking/spinlock.c:175 spin_lock_bh include/linux/spinlock.h:343 [inline] mld_del_delrec+0x368/0x5b0 net/ipv6/mcast.c:786 __ipv6_dev_mc_inc+0x80c/0xc90 net/ipv6/mcast.c:930 ipv6_dev_mc_inc+0x20/0x30 net/ipv6/mcast.c:938 ipv6_add_dev net/ipv6/addrconf.c:453 [inline] ipv6_add_dev+0xa2e/0x10b0 net/ipv6/addrconf.c:363 addrconf_init+0xd8/0x3a3 net/ipv6/addrconf.c:7040 inet6_init+0x36c/0x6e1 net/ipv6/af_inet6.c:1071 do_one_initcall+0x120/0x820 init/main.c:1146 do_initcall_level init/main.c:1219 [inline] do_initcalls init/main.c:1235 [inline] do_basic_setup init/main.c:1255 [inline] kernel_init_freeable+0x522/0x5d0 init/main.c:1439 kernel_init+0x12/0x1bf init/main.c:1346 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:352 IN-SOFTIRQ-W at: lock_acquire+0x190/0x410 kernel/locking/lockdep.c:4484 __raw_spin_lock_bh include/linux/spinlock_api_smp.h:135 [inline] _raw_spin_lock_bh+0x33/0x50 kernel/locking/spinlock.c:175 spin_lock_bh include/linux/spinlock.h:343 [inline] mld_send_cr net/ipv6/mcast.c:1953 [inline] mld_ifc_timer_expire+0x2c6/0x950 net/ipv6/mcast.c:2477 call_timer_fn+0x1ac/0x780 kernel/time/timer.c:1404 expire_timers kernel/time/timer.c:1449 [inline] __run_timers kernel/time/timer.c:1773 [inline] __run_timers kernel/time/timer.c:1740 [inline] run_timer_softirq+0x6c3/0x1790 kernel/time/timer.c:1786 __do_softirq+0x262/0x98c kernel/softirq.c:292 invoke_softirq kernel/softirq.c:373 [inline] irq_exit+0x19b/0x1e0 kernel/softirq.c:413 exiting_irq arch/x86/include/asm/apic.h:546 [inline] smp_apic_timer_interrupt+0x1a3/0x610 arch/x86/kernel/apic/apic.c:1146 apic_timer_interrupt+0xf/0x20 arch/x86/entry/entry_64.S:829 anon_vma_clone+0x13c/0x5f0 mm/rmap.c:297 anon_vma_fork+0x8f/0x4a0 mm/rmap.c:352 dup_mmap kernel/fork.c:559 [inline] dup_mm+0xa47/0x1430 kernel/fork.c:1360 copy_mm kernel/fork.c:1416 [inline] copy_process+0x2987/0x7290 kernel/fork.c:2081 _do_fork+0x146/0x1090 kernel/fork.c:2430 __do_sys_clone kernel/fork.c:2585 [inline] __se_sys_clone kernel/fork.c:2566 [inline] __x64_sys_clone+0x19a/0x260 kernel/fork.c:2566 do_syscall_64+0xfa/0x790 arch/x86/entry/common.c:294 entry_SYSCALL_64_after_hwframe+0x49/0xbe INITIAL USE at: lock_acquire+0x190/0x410 kernel/locking/lockdep.c:4484 __raw_spin_lock_bh include/linux/spinlock_api_smp.h:135 [inline] _raw_spin_lock_bh+0x33/0x50 kernel/locking/spinlock.c:175 spin_lock_bh include/linux/spinlock.h:343 [inline] mld_del_delrec+0x368/0x5b0 net/ipv6/mcast.c:786 __ipv6_dev_mc_inc+0x80c/0xc90 net/ipv6/mcast.c:930 ipv6_dev_mc_inc+0x20/0x30 net/ipv6/mcast.c:938 ipv6_add_dev net/ipv6/addrconf.c:453 [inline] ipv6_add_dev+0xa2e/0x10b0 net/ipv6/addrconf.c:363 addrconf_init+0xd8/0x3a3 net/ipv6/addrconf.c:7040 inet6_init+0x36c/0x6e1 net/ipv6/af_inet6.c:1071 do_one_initcall+0x120/0x820 init/main.c:1146 do_initcall_level init/main.c:1219 [inline] do_initcalls init/main.c:1235 [inline] do_basic_setup init/main.c:1255 [inline] kernel_init_freeable+0x522/0x5d0 init/main.c:1439 kernel_init+0x12/0x1bf init/main.c:1346 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:352 } ... key at: [] __key.78260+0x0/0x40 ... acquired at: __raw_spin_lock_bh include/linux/spinlock_api_smp.h:135 [inline] _raw_spin_lock_bh+0x33/0x50 kernel/locking/spinlock.c:175 spin_lock_bh include/linux/spinlock.h:343 [inline] netif_addr_lock_bh include/linux/netdevice.h:4162 [inline] __dev_mc_add+0x2e/0xd0 net/core/dev_addr_lists.c:765 dev_mc_add+0x20/0x30 net/core/dev_addr_lists.c:783 igmp6_group_added+0x3b5/0x460 net/ipv6/mcast.c:672 __ipv6_dev_mc_inc+0x814/0xc90 net/ipv6/mcast.c:931 ipv6_dev_mc_inc+0x20/0x30 net/ipv6/mcast.c:938 ipv6_add_dev net/ipv6/addrconf.c:456 [inline] ipv6_add_dev+0xa3d/0x10b0 net/ipv6/addrconf.c:363 addrconf_notify+0x89c/0x2270 net/ipv6/addrconf.c:3491 notifier_call_chain+0xc2/0x230 kernel/notifier.c:83 __raw_notifier_call_chain kernel/notifier.c:361 [inline] raw_notifier_call_chain+0x2e/0x40 kernel/notifier.c:368 call_netdevice_notifiers_info net/core/dev.c:1948 [inline] call_netdevice_notifiers_info+0xba/0x130 net/core/dev.c:1933 call_netdevice_notifiers_extack net/core/dev.c:1960 [inline] call_netdevice_notifiers net/core/dev.c:1974 [inline] register_netdevice+0x6de/0x1070 net/core/dev.c:9399 macsec_newlink+0x305/0x1100 drivers/net/macsec.c:3669 __rtnl_newlink+0x109d/0x1790 net/core/rtnetlink.c:3319 rtnl_newlink+0x69/0xa0 net/core/rtnetlink.c:3377 rtnetlink_rcv_msg+0x45e/0xaf0 net/core/rtnetlink.c:5436 netlink_rcv_skb+0x177/0x450 net/netlink/af_netlink.c:2477 rtnetlink_rcv+0x1d/0x30 net/core/rtnetlink.c:5454 netlink_unicast_kernel net/netlink/af_netlink.c:1302 [inline] netlink_unicast+0x59e/0x7e0 net/netlink/af_netlink.c:1328 netlink_sendmsg+0x91c/0xea0 net/netlink/af_netlink.c:1917 sock_sendmsg_nosec net/socket.c:652 [inline] sock_sendmsg+0xd7/0x130 net/socket.c:672 ____sys_sendmsg+0x753/0x880 net/socket.c:2343 ___sys_sendmsg+0x100/0x170 net/socket.c:2397 __sys_sendmsg+0x105/0x1d0 net/socket.c:2430 __do_sys_sendmsg net/socket.c:2439 [inline] __se_sys_sendmsg net/socket.c:2437 [inline] __x64_sys_sendmsg+0x78/0xb0 net/socket.c:2437 do_syscall_64+0xfa/0x790 arch/x86/entry/common.c:294 entry_SYSCALL_64_after_hwframe+0x49/0xbe -> (&dev->addr_list_lock_key#1547){+...} { HARDIRQ-ON-W at: lock_acquire+0x190/0x410 kernel/locking/lockdep.c:4484 __raw_spin_lock_bh include/linux/spinlock_api_smp.h:135 [inline] _raw_spin_lock_bh+0x33/0x50 kernel/locking/spinlock.c:175 spin_lock_bh include/linux/spinlock.h:343 [inline] netif_addr_lock_bh include/linux/netdevice.h:4162 [inline] __dev_mc_add+0x2e/0xd0 net/core/dev_addr_lists.c:765 dev_mc_add+0x20/0x30 net/core/dev_addr_lists.c:783 igmp6_group_added+0x3b5/0x460 net/ipv6/mcast.c:672 __ipv6_dev_mc_inc+0x814/0xc90 net/ipv6/mcast.c:931 ipv6_dev_mc_inc+0x20/0x30 net/ipv6/mcast.c:938 ipv6_add_dev net/ipv6/addrconf.c:456 [inline] ipv6_add_dev+0xa3d/0x10b0 net/ipv6/addrconf.c:363 addrconf_notify+0x89c/0x2270 net/ipv6/addrconf.c:3491 notifier_call_chain+0xc2/0x230 kernel/notifier.c:83 __raw_notifier_call_chain kernel/notifier.c:361 [inline] raw_notifier_call_chain+0x2e/0x40 kernel/notifier.c:368 call_netdevice_notifiers_info net/core/dev.c:1948 [inline] call_netdevice_notifiers_info+0xba/0x130 net/core/dev.c:1933 call_netdevice_notifiers_extack net/core/dev.c:1960 [inline] call_netdevice_notifiers net/core/dev.c:1974 [inline] register_netdevice+0x6de/0x1070 net/core/dev.c:9399 macsec_newlink+0x305/0x1100 drivers/net/macsec.c:3669 __rtnl_newlink+0x109d/0x1790 net/core/rtnetlink.c:3319 rtnl_newlink+0x69/0xa0 net/core/rtnetlink.c:3377 rtnetlink_rcv_msg+0x45e/0xaf0 net/core/rtnetlink.c:5436 netlink_rcv_skb+0x177/0x450 net/netlink/af_netlink.c:2477 rtnetlink_rcv+0x1d/0x30 net/core/rtnetlink.c:5454 netlink_unicast_kernel net/netlink/af_netlink.c:1302 [inline] netlink_unicast+0x59e/0x7e0 net/netlink/af_netlink.c:1328 netlink_sendmsg+0x91c/0xea0 net/netlink/af_netlink.c:1917 sock_sendmsg_nosec net/socket.c:652 [inline] sock_sendmsg+0xd7/0x130 net/socket.c:672 ____sys_sendmsg+0x753/0x880 net/socket.c:2343 ___sys_sendmsg+0x100/0x170 net/socket.c:2397 __sys_sendmsg+0x105/0x1d0 net/socket.c:2430 __do_sys_sendmsg net/socket.c:2439 [inline] __se_sys_sendmsg net/socket.c:2437 [inline] __x64_sys_sendmsg+0x78/0xb0 net/socket.c:2437 do_syscall_64+0xfa/0x790 arch/x86/entry/common.c:294 entry_SYSCALL_64_after_hwframe+0x49/0xbe INITIAL USE at: lock_acquire+0x190/0x410 kernel/locking/lockdep.c:4484 __raw_spin_lock_bh include/linux/spinlock_api_smp.h:135 [inline] _raw_spin_lock_bh+0x33/0x50 kernel/locking/spinlock.c:175 spin_lock_bh include/linux/spinlock.h:343 [inline] netif_addr_lock_bh include/linux/netdevice.h:4162 [inline] __dev_mc_add+0x2e/0xd0 net/core/dev_addr_lists.c:765 dev_mc_add+0x20/0x30 net/core/dev_addr_lists.c:783 igmp6_group_added+0x3b5/0x460 net/ipv6/mcast.c:672 __ipv6_dev_mc_inc+0x814/0xc90 net/ipv6/mcast.c:931 ipv6_dev_mc_inc+0x20/0x30 net/ipv6/mcast.c:938 ipv6_add_dev net/ipv6/addrconf.c:456 [inline] ipv6_add_dev+0xa3d/0x10b0 net/ipv6/addrconf.c:363 addrconf_notify+0x89c/0x2270 net/ipv6/addrconf.c:3491 notifier_call_chain+0xc2/0x230 kernel/notifier.c:83 __raw_notifier_call_chain kernel/notifier.c:361 [inline] raw_notifier_call_chain+0x2e/0x40 kernel/notifier.c:368 call_netdevice_notifiers_info net/core/dev.c:1948 [inline] call_netdevice_notifiers_info+0xba/0x130 net/core/dev.c:1933 call_netdevice_notifiers_extack net/core/dev.c:1960 [inline] call_netdevice_notifiers net/core/dev.c:1974 [inline] register_netdevice+0x6de/0x1070 net/core/dev.c:9399 macsec_newlink+0x305/0x1100 drivers/net/macsec.c:3669 __rtnl_newlink+0x109d/0x1790 net/core/rtnetlink.c:3319 rtnl_newlink+0x69/0xa0 net/core/rtnetlink.c:3377 rtnetlink_rcv_msg+0x45e/0xaf0 net/core/rtnetlink.c:5436 netlink_rcv_skb+0x177/0x450 net/netlink/af_netlink.c:2477 rtnetlink_rcv+0x1d/0x30 net/core/rtnetlink.c:5454 netlink_unicast_kernel net/netlink/af_netlink.c:1302 [inline] netlink_unicast+0x59e/0x7e0 net/netlink/af_netlink.c:1328 netlink_sendmsg+0x91c/0xea0 net/netlink/af_netlink.c:1917 sock_sendmsg_nosec net/socket.c:652 [inline] sock_sendmsg+0xd7/0x130 net/socket.c:672 ____sys_sendmsg+0x753/0x880 net/socket.c:2343 ___sys_sendmsg+0x100/0x170 net/socket.c:2397 __sys_sendmsg+0x105/0x1d0 net/socket.c:2430 __do_sys_sendmsg net/socket.c:2439 [inline] __se_sys_sendmsg net/socket.c:2437 [inline] __x64_sys_sendmsg+0x78/0xb0 net/socket.c:2437 do_syscall_64+0xfa/0x790 arch/x86/entry/common.c:294 entry_SYSCALL_64_after_hwframe+0x49/0xbe } ... key at: [] 0xffff888048dc8b48 ... acquired at: lock_acquire+0x190/0x410 kernel/locking/lockdep.c:4484 _raw_spin_lock_nested+0x35/0x50 kernel/locking/spinlock.c:361 bond_get_stats+0x12c/0x520 drivers/net/bonding/bond_main.c:3585 dev_get_stats+0x8e/0x280 net/core/dev.c:9694 rtnl_fill_stats+0x4d/0xac0 net/core/rtnetlink.c:1192 rtnl_fill_ifinfo+0x1107/0x3be0 net/core/rtnetlink.c:1734 rtmsg_ifinfo_build_skb+0xcd/0x1a0 net/core/rtnetlink.c:3685 rtmsg_ifinfo_event.part.0+0x43/0xe0 net/core/rtnetlink.c:3717 rtmsg_ifinfo_event net/core/rtnetlink.c:3728 [inline] rtmsg_ifinfo+0x8d/0xa0 net/core/rtnetlink.c:3726 __dev_notify_flags+0x235/0x2c0 net/core/dev.c:8175 __dev_set_promiscuity+0x1a1/0x220 net/core/dev.c:7951 dev_set_promiscuity+0x57/0xe0 net/core/dev.c:7971 macsec_dev_change_rx_flags+0x14a/0x180 drivers/net/macsec.c:3238 dev_change_rx_flags net/core/dev.c:7904 [inline] __dev_set_promiscuity.cold+0x2d3/0x343 net/core/dev.c:7948 __dev_set_rx_mode+0x23b/0x320 net/core/dev.c:8053 dev_uc_add+0xb1/0xc0 net/core/dev_addr_lists.c:592 macsec_dev_open+0xd5/0x470 drivers/net/macsec.c:3151 __dev_open+0x25a/0x3f0 net/core/dev.c:1436 __dev_change_flags+0x55f/0x6d0 net/core/dev.c:8141 rtnl_configure_link+0xf3/0x250 net/core/rtnetlink.c:3001 __rtnl_newlink+0x10c6/0x1790 net/core/rtnetlink.c:3337 rtnl_newlink+0x69/0xa0 net/core/rtnetlink.c:3377 rtnetlink_rcv_msg+0x45e/0xaf0 net/core/rtnetlink.c:5436 netlink_rcv_skb+0x177/0x450 net/netlink/af_netlink.c:2477 rtnetlink_rcv+0x1d/0x30 net/core/rtnetlink.c:5454 netlink_unicast_kernel net/netlink/af_netlink.c:1302 [inline] netlink_unicast+0x59e/0x7e0 net/netlink/af_netlink.c:1328 netlink_sendmsg+0x91c/0xea0 net/netlink/af_netlink.c:1917 sock_sendmsg_nosec net/socket.c:652 [inline] sock_sendmsg+0xd7/0x130 net/socket.c:672 ____sys_sendmsg+0x753/0x880 net/socket.c:2343 ___sys_sendmsg+0x100/0x170 net/socket.c:2397 __sys_sendmsg+0x105/0x1d0 net/socket.c:2430 __do_sys_sendmsg net/socket.c:2439 [inline] __se_sys_sendmsg net/socket.c:2437 [inline] __x64_sys_sendmsg+0x78/0xb0 net/socket.c:2437 do_syscall_64+0xfa/0x790 arch/x86/entry/common.c:294 entry_SYSCALL_64_after_hwframe+0x49/0xbe the dependencies between the lock to be acquired and SOFTIRQ-irq-unsafe lock: -> (&bond->stats_lock_key#18/1){+.+.} { HARDIRQ-ON-W at: lock_acquire+0x190/0x410 kernel/locking/lockdep.c:4484 _raw_spin_lock_nested+0x35/0x50 kernel/locking/spinlock.c:361 bond_get_stats+0x12c/0x520 drivers/net/bonding/bond_main.c:3585 dev_get_stats+0x8e/0x280 net/core/dev.c:9694 rtnl_fill_stats+0x4d/0xac0 net/core/rtnetlink.c:1192 rtnl_fill_ifinfo+0x1107/0x3be0 net/core/rtnetlink.c:1734 rtmsg_ifinfo_build_skb+0xcd/0x1a0 net/core/rtnetlink.c:3685 rtmsg_ifinfo_event.part.0+0x43/0xe0 net/core/rtnetlink.c:3717 rtmsg_ifinfo_event net/core/rtnetlink.c:5494 [inline] rtnetlink_event+0x12c/0x150 net/core/rtnetlink.c:5487 notifier_call_chain+0xc2/0x230 kernel/notifier.c:83 __raw_notifier_call_chain kernel/notifier.c:361 [inline] raw_notifier_call_chain+0x2e/0x40 kernel/notifier.c:368 call_netdevice_notifiers_info net/core/dev.c:1948 [inline] call_netdevice_notifiers_info+0xba/0x130 net/core/dev.c:1933 call_netdevice_notifiers_extack net/core/dev.c:1960 [inline] call_netdevice_notifiers net/core/dev.c:1974 [inline] netdev_features_change net/core/dev.c:1364 [inline] netdev_change_features+0x7e/0xb0 net/core/dev.c:9098 bond_compute_features.isra.0+0x56a/0xa80 drivers/net/bonding/bond_main.c:1188 bond_enslave+0x3571/0x4af0 drivers/net/bonding/bond_main.c:1818 do_set_master net/core/rtnetlink.c:2468 [inline] do_set_master+0x1dd/0x240 net/core/rtnetlink.c:2441 do_setlink+0xad2/0x3720 net/core/rtnetlink.c:2603 __rtnl_newlink+0xbef/0x1790 net/core/rtnetlink.c:3252 rtnl_newlink+0x69/0xa0 net/core/rtnetlink.c:3377 rtnetlink_rcv_msg+0x45e/0xaf0 net/core/rtnetlink.c:5436 netlink_rcv_skb+0x177/0x450 net/netlink/af_netlink.c:2477 rtnetlink_rcv+0x1d/0x30 net/core/rtnetlink.c:5454 netlink_unicast_kernel net/netlink/af_netlink.c:1302 [inline] netlink_unicast+0x59e/0x7e0 net/netlink/af_netlink.c:1328 netlink_sendmsg+0x91c/0xea0 net/netlink/af_netlink.c:1917 sock_sendmsg_nosec net/socket.c:652 [inline] sock_sendmsg+0xd7/0x130 net/socket.c:672 __sys_sendto+0x262/0x380 net/socket.c:1998 __do_sys_sendto net/socket.c:2010 [inline] __se_sys_sendto net/socket.c:2006 [inline] __x64_sys_sendto+0xe1/0x1a0 net/socket.c:2006 do_syscall_64+0xfa/0x790 arch/x86/entry/common.c:294 entry_SYSCALL_64_after_hwframe+0x49/0xbe SOFTIRQ-ON-W at: lock_acquire+0x190/0x410 kernel/locking/lockdep.c:4484 _raw_spin_lock_nested+0x35/0x50 kernel/locking/spinlock.c:361 bond_get_stats+0x12c/0x520 drivers/net/bonding/bond_main.c:3585 dev_get_stats+0x8e/0x280 net/core/dev.c:9694 rtnl_fill_stats+0x4d/0xac0 net/core/rtnetlink.c:1192 rtnl_fill_ifinfo+0x1107/0x3be0 net/core/rtnetlink.c:1734 rtmsg_ifinfo_build_skb+0xcd/0x1a0 net/core/rtnetlink.c:3685 rtmsg_ifinfo_event.part.0+0x43/0xe0 net/core/rtnetlink.c:3717 rtmsg_ifinfo_event net/core/rtnetlink.c:5494 [inline] rtnetlink_event+0x12c/0x150 net/core/rtnetlink.c:5487 notifier_call_chain+0xc2/0x230 kernel/notifier.c:83 __raw_notifier_call_chain kernel/notifier.c:361 [inline] raw_notifier_call_chain+0x2e/0x40 kernel/notifier.c:368 call_netdevice_notifiers_info net/core/dev.c:1948 [inline] call_netdevice_notifiers_info+0xba/0x130 net/core/dev.c:1933 call_netdevice_notifiers_extack net/core/dev.c:1960 [inline] call_netdevice_notifiers net/core/dev.c:1974 [inline] netdev_features_change net/core/dev.c:1364 [inline] netdev_change_features+0x7e/0xb0 net/core/dev.c:9098 bond_compute_features.isra.0+0x56a/0xa80 drivers/net/bonding/bond_main.c:1188 bond_enslave+0x3571/0x4af0 drivers/net/bonding/bond_main.c:1818 do_set_master net/core/rtnetlink.c:2468 [inline] do_set_master+0x1dd/0x240 net/core/rtnetlink.c:2441 do_setlink+0xad2/0x3720 net/core/rtnetlink.c:2603 __rtnl_newlink+0xbef/0x1790 net/core/rtnetlink.c:3252 rtnl_newlink+0x69/0xa0 net/core/rtnetlink.c:3377 rtnetlink_rcv_msg+0x45e/0xaf0 net/core/rtnetlink.c:5436 netlink_rcv_skb+0x177/0x450 net/netlink/af_netlink.c:2477 rtnetlink_rcv+0x1d/0x30 net/core/rtnetlink.c:5454 netlink_unicast_kernel net/netlink/af_netlink.c:1302 [inline] netlink_unicast+0x59e/0x7e0 net/netlink/af_netlink.c:1328 netlink_sendmsg+0x91c/0xea0 net/netlink/af_netlink.c:1917 sock_sendmsg_nosec net/socket.c:652 [inline] sock_sendmsg+0xd7/0x130 net/socket.c:672 __sys_sendto+0x262/0x380 net/socket.c:1998 __do_sys_sendto net/socket.c:2010 [inline] __se_sys_sendto net/socket.c:2006 [inline] __x64_sys_sendto+0xe1/0x1a0 net/socket.c:2006 do_syscall_64+0xfa/0x790 arch/x86/entry/common.c:294 entry_SYSCALL_64_after_hwframe+0x49/0xbe INITIAL USE at: lock_acquire+0x190/0x410 kernel/locking/lockdep.c:4484 _raw_spin_lock_nested+0x35/0x50 kernel/locking/spinlock.c:361 bond_get_stats+0x12c/0x520 drivers/net/bonding/bond_main.c:3585 dev_get_stats+0x8e/0x280 net/core/dev.c:9694 rtnl_fill_stats+0x4d/0xac0 net/core/rtnetlink.c:1192 rtnl_fill_ifinfo+0x1107/0x3be0 net/core/rtnetlink.c:1734 rtmsg_ifinfo_build_skb+0xcd/0x1a0 net/core/rtnetlink.c:3685 rtmsg_ifinfo_event.part.0+0x43/0xe0 net/core/rtnetlink.c:3717 rtmsg_ifinfo_event net/core/rtnetlink.c:5494 [inline] rtnetlink_event+0x12c/0x150 net/core/rtnetlink.c:5487 notifier_call_chain+0xc2/0x230 kernel/notifier.c:83 __raw_notifier_call_chain kernel/notifier.c:361 [inline] raw_notifier_call_chain+0x2e/0x40 kernel/notifier.c:368 call_netdevice_notifiers_info net/core/dev.c:1948 [inline] call_netdevice_notifiers_info+0xba/0x130 net/core/dev.c:1933 call_netdevice_notifiers_extack net/core/dev.c:1960 [inline] call_netdevice_notifiers net/core/dev.c:1974 [inline] netdev_features_change net/core/dev.c:1364 [inline] netdev_change_features+0x7e/0xb0 net/core/dev.c:9098 bond_compute_features.isra.0+0x56a/0xa80 drivers/net/bonding/bond_main.c:1188 bond_enslave+0x3571/0x4af0 drivers/net/bonding/bond_main.c:1818 do_set_master net/core/rtnetlink.c:2468 [inline] do_set_master+0x1dd/0x240 net/core/rtnetlink.c:2441 do_setlink+0xad2/0x3720 net/core/rtnetlink.c:2603 __rtnl_newlink+0xbef/0x1790 net/core/rtnetlink.c:3252 rtnl_newlink+0x69/0xa0 net/core/rtnetlink.c:3377 rtnetlink_rcv_msg+0x45e/0xaf0 net/core/rtnetlink.c:5436 netlink_rcv_skb+0x177/0x450 net/netlink/af_netlink.c:2477 rtnetlink_rcv+0x1d/0x30 net/core/rtnetlink.c:5454 netlink_unicast_kernel net/netlink/af_netlink.c:1302 [inline] netlink_unicast+0x59e/0x7e0 net/netlink/af_netlink.c:1328 netlink_sendmsg+0x91c/0xea0 net/netlink/af_netlink.c:1917 sock_sendmsg_nosec net/socket.c:652 [inline] sock_sendmsg+0xd7/0x130 net/socket.c:672 __sys_sendto+0x262/0x380 net/socket.c:1998 __do_sys_sendto net/socket.c:2010 [inline] __se_sys_sendto net/socket.c:2006 [inline] __x64_sys_sendto+0xe1/0x1a0 net/socket.c:2006 do_syscall_64+0xfa/0x790 arch/x86/entry/common.c:294 entry_SYSCALL_64_after_hwframe+0x49/0xbe } ... key at: [] 0xffff888057941221 ... acquired at: lock_acquire+0x190/0x410 kernel/locking/lockdep.c:4484 _raw_spin_lock_nested+0x35/0x50 kernel/locking/spinlock.c:361 bond_get_stats+0x12c/0x520 drivers/net/bonding/bond_main.c:3585 dev_get_stats+0x8e/0x280 net/core/dev.c:9694 rtnl_fill_stats+0x4d/0xac0 net/core/rtnetlink.c:1192 rtnl_fill_ifinfo+0x1107/0x3be0 net/core/rtnetlink.c:1734 rtmsg_ifinfo_build_skb+0xcd/0x1a0 net/core/rtnetlink.c:3685 rtmsg_ifinfo_event.part.0+0x43/0xe0 net/core/rtnetlink.c:3717 rtmsg_ifinfo_event net/core/rtnetlink.c:3728 [inline] rtmsg_ifinfo+0x8d/0xa0 net/core/rtnetlink.c:3726 __dev_notify_flags+0x235/0x2c0 net/core/dev.c:8175 __dev_set_promiscuity+0x1a1/0x220 net/core/dev.c:7951 dev_set_promiscuity+0x57/0xe0 net/core/dev.c:7971 macsec_dev_change_rx_flags+0x14a/0x180 drivers/net/macsec.c:3238 dev_change_rx_flags net/core/dev.c:7904 [inline] __dev_set_promiscuity.cold+0x2d3/0x343 net/core/dev.c:7948 __dev_set_rx_mode+0x23b/0x320 net/core/dev.c:8053 dev_uc_add+0xb1/0xc0 net/core/dev_addr_lists.c:592 macsec_dev_open+0xd5/0x470 drivers/net/macsec.c:3151 __dev_open+0x25a/0x3f0 net/core/dev.c:1436 __dev_change_flags+0x55f/0x6d0 net/core/dev.c:8141 rtnl_configure_link+0xf3/0x250 net/core/rtnetlink.c:3001 __rtnl_newlink+0x10c6/0x1790 net/core/rtnetlink.c:3337 rtnl_newlink+0x69/0xa0 net/core/rtnetlink.c:3377 rtnetlink_rcv_msg+0x45e/0xaf0 net/core/rtnetlink.c:5436 netlink_rcv_skb+0x177/0x450 net/netlink/af_netlink.c:2477 rtnetlink_rcv+0x1d/0x30 net/core/rtnetlink.c:5454 netlink_unicast_kernel net/netlink/af_netlink.c:1302 [inline] netlink_unicast+0x59e/0x7e0 net/netlink/af_netlink.c:1328 netlink_sendmsg+0x91c/0xea0 net/netlink/af_netlink.c:1917 sock_sendmsg_nosec net/socket.c:652 [inline] sock_sendmsg+0xd7/0x130 net/socket.c:672 ____sys_sendmsg+0x753/0x880 net/socket.c:2343 ___sys_sendmsg+0x100/0x170 net/socket.c:2397 __sys_sendmsg+0x105/0x1d0 net/socket.c:2430 __do_sys_sendmsg net/socket.c:2439 [inline] __se_sys_sendmsg net/socket.c:2437 [inline] __x64_sys_sendmsg+0x78/0xb0 net/socket.c:2437 do_syscall_64+0xfa/0x790 arch/x86/entry/common.c:294 entry_SYSCALL_64_after_hwframe+0x49/0xbe stack backtrace: CPU: 0 PID: 19727 Comm: syz-executor.4 Not tainted 5.6.0-rc1-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_bad_irq_dependency kernel/locking/lockdep.c:2094 [inline] check_irq_usage.cold+0x586/0x6fe kernel/locking/lockdep.c:2292 check_prev_add kernel/locking/lockdep.c:2479 [inline] check_prevs_add kernel/locking/lockdep.c:2580 [inline] validate_chain kernel/locking/lockdep.c:2970 [inline] __lock_acquire+0x25b4/0x4a00 kernel/locking/lockdep.c:3954 lock_acquire+0x190/0x410 kernel/locking/lockdep.c:4484 _raw_spin_lock_nested+0x35/0x50 kernel/locking/spinlock.c:361 bond_get_stats+0x12c/0x520 drivers/net/bonding/bond_main.c:3585 dev_get_stats+0x8e/0x280 net/core/dev.c:9694 rtnl_fill_stats+0x4d/0xac0 net/core/rtnetlink.c:1192 rtnl_fill_ifinfo+0x1107/0x3be0 net/core/rtnetlink.c:1734 rtmsg_ifinfo_build_skb+0xcd/0x1a0 net/core/rtnetlink.c:3685 rtmsg_ifinfo_event.part.0+0x43/0xe0 net/core/rtnetlink.c:3717 rtmsg_ifinfo_event net/core/rtnetlink.c:3728 [inline] rtmsg_ifinfo+0x8d/0xa0 net/core/rtnetlink.c:3726 __dev_notify_flags+0x235/0x2c0 net/core/dev.c:8175 __dev_set_promiscuity+0x1a1/0x220 net/core/dev.c:7951 dev_set_promiscuity+0x57/0xe0 net/core/dev.c:7971 macsec_dev_change_rx_flags+0x14a/0x180 drivers/net/macsec.c:3238 dev_change_rx_flags net/core/dev.c:7904 [inline] __dev_set_promiscuity.cold+0x2d3/0x343 net/core/dev.c:7948 __dev_set_rx_mode+0x23b/0x320 net/core/dev.c:8053 dev_uc_add+0xb1/0xc0 net/core/dev_addr_lists.c:592 macsec_dev_open+0xd5/0x470 drivers/net/macsec.c:3151 __dev_open+0x25a/0x3f0 net/core/dev.c:1436 __dev_change_flags+0x55f/0x6d0 net/core/dev.c:8141 rtnl_configure_link+0xf3/0x250 net/core/rtnetlink.c:3001 __rtnl_newlink+0x10c6/0x1790 net/core/rtnetlink.c:3337 rtnl_newlink+0x69/0xa0 net/core/rtnetlink.c:3377 rtnetlink_rcv_msg+0x45e/0xaf0 net/core/rtnetlink.c:5436 netlink_rcv_skb+0x177/0x450 net/netlink/af_netlink.c:2477 rtnetlink_rcv+0x1d/0x30 net/core/rtnetlink.c:5454 netlink_unicast_kernel net/netlink/af_netlink.c:1302 [inline] netlink_unicast+0x59e/0x7e0 net/netlink/af_netlink.c:1328 netlink_sendmsg+0x91c/0xea0 net/netlink/af_netlink.c:1917 sock_sendmsg_nosec net/socket.c:652 [inline] sock_sendmsg+0xd7/0x130 net/socket.c:672 ____sys_sendmsg+0x753/0x880 net/socket.c:2343 ___sys_sendmsg+0x100/0x170 net/socket.c:2397 __sys_sendmsg+0x105/0x1d0 net/socket.c:2430 __do_sys_sendmsg net/socket.c:2439 [inline] __se_sys_sendmsg net/socket.c:2437 [inline] __x64_sys_sendmsg+0x78/0xb0 net/socket.c:2437 do_syscall_64+0xfa/0x790 arch/x86/entry/common.c:294 entry_SYSCALL_64_after_hwframe+0x49/0xbe RIP: 0033:0x45c449 Code: ad b6 fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 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 7b b6 fb ff c3 66 2e 0f 1f 84 00 00 00 00 RSP: 002b:00007fb436291c78 EFLAGS: 00000246 ORIG_RAX: 000000000000002e RAX: ffffffffffffffda RBX: 00007fb4362926d4 RCX: 000000000045c449 RDX: 0000000000000000 RSI: 0000000020000140 RDI: 0000000000000003 RBP: 000000000076c060 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 00000000ffffffff R13: 00000000000009d4 R14: 00000000004cc501 R15: 000000000076c06c