netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [rdma/siw] unregister_netdevice: waiting for bond0 to become free. Usage count = 3
@ 2025-11-25 14:31 Tetsuo Handa
  2025-12-05 14:20 ` Tetsuo Handa
  0 siblings, 1 reply; 13+ messages in thread
From: Tetsuo Handa @ 2025-11-25 14:31 UTC (permalink / raw)
  To: Bernard Metzler, OFED mailing list, Network Development

[-- Attachment #1: Type: text/plain, Size: 2071 bytes --]

Hello.

I am using a debug printk() patch which records/counts where refcount for "struct
net_device" has changed, and syzbot succeeded to record/count a net_device leak
in next-20251121 ( https://syzkaller.appspot.com/bug?extid=881d65229ca4f9ae8c84 ).

The output from the debug printk() patch is attached (because it has 2500 lines).
You can see that there is one alloc_gid_entry() call in bond0[74] but there is
no corresponding put_gid_ndev() call. I suspect that there is a refcount leak in
"struct ib_gid_table_entry" handling. Where should we check next?

Regards.



unregister_netdevice: waiting for bond0 to become free. Usage count = 3
ref_tracker: netdev@ffff888079890628 has 1/1 users at
     __netdev_tracker_alloc include/linux/netdevice.h:4402 [inline]
     netdev_hold include/linux/netdevice.h:4431 [inline]
     ib_device_set_netdev+0x2e1/0x6d0 drivers/infiniband/core/device.c:2253
     siw_device_create drivers/infiniband/sw/siw/siw_main.c:320 [inline]
     siw_newlink+0x400/0xdf0 drivers/infiniband/sw/siw/siw_main.c:426
     nldev_newlink+0x4a5/0x5a0 drivers/infiniband/core/nldev.c:1797
     rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:-1 [inline]
     rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline]
     rdma_nl_rcv+0x6ae/0x980 drivers/infiniband/core/netlink.c:259
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
     ____sys_sendmsg+0x505/0x870 net/socket.c:2634
     ___sys_sendmsg+0x21f/0x2a0 net/socket.c:2688
     __sys_sendmsg net/socket.c:2720 [inline]
     __do_sys_sendmsg net/socket.c:2725 [inline]
     __se_sys_sendmsg net/socket.c:2723 [inline]
     __x64_sys_sendmsg+0x19b/0x260 net/socket.c:2723
     do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
     do_syscall_64+0xfa/0xfa0 arch/x86/entry/syscall_64.c:94
     entry_SYSCALL_64_after_hwframe+0x77/0x7f

[-- Attachment #2: report.txt --]
[-- Type: text/plain, Size: 150625 bytes --]

unregister_netdevice: waiting for bond0 to become free. Usage count = 3
ref_tracker: netdev@ffff888079890628 has 1/1 users at
     __netdev_tracker_alloc include/linux/netdevice.h:4402 [inline]
     netdev_hold include/linux/netdevice.h:4431 [inline]
     ib_device_set_netdev+0x2e1/0x6d0 drivers/infiniband/core/device.c:2253
     siw_device_create drivers/infiniband/sw/siw/siw_main.c:320 [inline]
     siw_newlink+0x400/0xdf0 drivers/infiniband/sw/siw/siw_main.c:426
     nldev_newlink+0x4a5/0x5a0 drivers/infiniband/core/nldev.c:1797
     rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:-1 [inline]
     rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline]
     rdma_nl_rcv+0x6ae/0x980 drivers/infiniband/core/netlink.c:259
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
     ____sys_sendmsg+0x505/0x870 net/socket.c:2634
     ___sys_sendmsg+0x21f/0x2a0 net/socket.c:2688
     __sys_sendmsg net/socket.c:2720 [inline]
     __do_sys_sendmsg net/socket.c:2725 [inline]
     __se_sys_sendmsg net/socket.c:2723 [inline]
     __x64_sys_sendmsg+0x19b/0x260 net/socket.c:2723
     do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
     do_syscall_64+0xfa/0xfa0 arch/x86/entry/syscall_64.c:94
     entry_SYSCALL_64_after_hwframe+0x77/0x7f

balance for bond0@j1939_priv is 0
Call trace for bond0[1] +16 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     rx_queue_add_kobject net/core/net-sysfs.c:1257 [inline]
     net_rx_queue_update_kobjects+0x148/0x750 net/core/net-sysfs.c:1322
     register_queue_kobjects net/core/net-sysfs.c:2114 [inline]
     netdev_register_kobject+0x21f/0x310 net/core/net-sysfs.c:2362
     register_netdevice+0x125c/0x1b00 net/core/dev.c:11384
     bond_newlink+0x48/0xd0 drivers/net/bonding/bond_netlink.c:601
     rtnl_newlink_create+0x310/0xb00 net/core/rtnetlink.c:3840
     __rtnl_newlink net/core/rtnetlink.c:3957 [inline]
     rtnl_newlink+0x16e7/0x1c90 net/core/rtnetlink.c:4072
     rtnetlink_rcv_msg+0x7cf/0xb70 net/core/rtnetlink.c:6958
     netlink_rcv_skb+0x208/0x470 net/netlink/af_netlink.c:2550
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[2] +16 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     netdev_queue_add_kobject net/core/net-sysfs.c:1994 [inline]
     netdev_queue_update_kobjects+0x170/0x6d0 net/core/net-sysfs.c:2056
     register_queue_kobjects net/core/net-sysfs.c:2119 [inline]
     netdev_register_kobject+0x258/0x310 net/core/net-sysfs.c:2362
     register_netdevice+0x125c/0x1b00 net/core/dev.c:11384
     bond_newlink+0x48/0xd0 drivers/net/bonding/bond_netlink.c:601
     rtnl_newlink_create+0x310/0xb00 net/core/rtnetlink.c:3840
     __rtnl_newlink net/core/rtnetlink.c:3957 [inline]
     rtnl_newlink+0x16e7/0x1c90 net/core/rtnetlink.c:4072
     rtnetlink_rcv_msg+0x7cf/0xb70 net/core/rtnetlink.c:6958
     netlink_rcv_skb+0x208/0x470 net/netlink/af_netlink.c:2550
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[3] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold+0x27/0xc0 include/linux/netdevice.h:4430
     register_netdevice+0x1493/0x1b00 net/core/dev.c:11408
     bond_newlink+0x48/0xd0 drivers/net/bonding/bond_netlink.c:601
     rtnl_newlink_create+0x310/0xb00 net/core/rtnetlink.c:3840
     __rtnl_newlink net/core/rtnetlink.c:3957 [inline]
     rtnl_newlink+0x16e7/0x1c90 net/core/rtnetlink.c:4072
     rtnetlink_rcv_msg+0x7cf/0xb70 net/core/rtnetlink.c:6958
     netlink_rcv_skb+0x208/0x470 net/netlink/af_netlink.c:2550
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[4] +3 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     netdevice_queue_work drivers/infiniband/core/roce_gid_mgmt.c:675 [inline]
     netdevice_event+0x4db/0x8c0 drivers/infiniband/core/roce_gid_mgmt.c:823
     notifier_call_chain+0x19d/0x3d0 kernel/notifier.c:85
     call_netdevice_notifiers_extack net/core/dev.c:2269 [inline]
     call_netdevice_notifiers net/core/dev.c:2283 [inline]
     register_netdevice+0x15fd/0x1b00 net/core/dev.c:11422
     bond_newlink+0x48/0xd0 drivers/net/bonding/bond_netlink.c:601
     rtnl_newlink_create+0x310/0xb00 net/core/rtnetlink.c:3840
     __rtnl_newlink net/core/rtnetlink.c:3957 [inline]
     rtnl_newlink+0x16e7/0x1c90 net/core/rtnetlink.c:4072
     rtnetlink_rcv_msg+0x7cf/0xb70 net/core/rtnetlink.c:6958
     netlink_rcv_skb+0x208/0x470 net/netlink/af_netlink.c:2550
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[5] +3 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     netdevice_queue_work drivers/infiniband/core/roce_gid_mgmt.c:676 [inline]
     netdevice_event+0x585/0x8c0 drivers/infiniband/core/roce_gid_mgmt.c:823
     notifier_call_chain+0x19d/0x3d0 kernel/notifier.c:85
     call_netdevice_notifiers_extack net/core/dev.c:2269 [inline]
     call_netdevice_notifiers net/core/dev.c:2283 [inline]
     register_netdevice+0x15fd/0x1b00 net/core/dev.c:11422
     bond_newlink+0x48/0xd0 drivers/net/bonding/bond_netlink.c:601
     rtnl_newlink_create+0x310/0xb00 net/core/rtnetlink.c:3840
     __rtnl_newlink net/core/rtnetlink.c:3957 [inline]
     rtnl_newlink+0x16e7/0x1c90 net/core/rtnetlink.c:4072
     rtnetlink_rcv_msg+0x7cf/0xb70 net/core/rtnetlink.c:6958
     netlink_rcv_skb+0x208/0x470 net/netlink/af_netlink.c:2550
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[6] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     neigh_parms_alloc+0x192/0x530 net/core/neighbour.c:1753
     inetdev_init+0x118/0x510 net/ipv4/devinet.c:280
     inetdev_event+0x2f1/0x1600 net/ipv4/devinet.c:1590
     notifier_call_chain+0x19d/0x3d0 kernel/notifier.c:85
     call_netdevice_notifiers_extack net/core/dev.c:2269 [inline]
     call_netdevice_notifiers net/core/dev.c:2283 [inline]
     register_netdevice+0x15fd/0x1b00 net/core/dev.c:11422
     bond_newlink+0x48/0xd0 drivers/net/bonding/bond_netlink.c:601
     rtnl_newlink_create+0x310/0xb00 net/core/rtnetlink.c:3840
     __rtnl_newlink net/core/rtnetlink.c:3957 [inline]
     rtnl_newlink+0x16e7/0x1c90 net/core/rtnetlink.c:4072
     rtnetlink_rcv_msg+0x7cf/0xb70 net/core/rtnetlink.c:6958
     netlink_rcv_skb+0x208/0x470 net/netlink/af_netlink.c:2550
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[7] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     inetdev_init+0x19f/0x510 net/ipv4/devinet.c:286
     inetdev_event+0x2f1/0x1600 net/ipv4/devinet.c:1590
     notifier_call_chain+0x19d/0x3d0 kernel/notifier.c:85
     call_netdevice_notifiers_extack net/core/dev.c:2269 [inline]
     call_netdevice_notifiers net/core/dev.c:2283 [inline]
     register_netdevice+0x15fd/0x1b00 net/core/dev.c:11422
     bond_newlink+0x48/0xd0 drivers/net/bonding/bond_netlink.c:601
     rtnl_newlink_create+0x310/0xb00 net/core/rtnetlink.c:3840
     __rtnl_newlink net/core/rtnetlink.c:3957 [inline]
     rtnl_newlink+0x16e7/0x1c90 net/core/rtnetlink.c:4072
     rtnetlink_rcv_msg+0x7cf/0xb70 net/core/rtnetlink.c:6958
     netlink_rcv_skb+0x208/0x470 net/netlink/af_netlink.c:2550
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[8] -29 at
     __dev_put include/linux/netdevice.h:4373 [inline]
     netdev_put include/linux/netdevice.h:4440 [inline]
     dev_put include/linux/netdevice.h:4465 [inline]
     netdevice_event_work_handler+0x12c/0x260 drivers/infiniband/core/roce_gid_mgmt.c:652
     process_one_work+0x93a/0x15e0 kernel/workqueue.c:3261
Call trace for bond0[9] -29 at
     __dev_put include/linux/netdevice.h:4373 [inline]
     netdev_put include/linux/netdevice.h:4440 [inline]
     dev_put include/linux/netdevice.h:4465 [inline]
     netdevice_event_work_handler+0x1b2/0x260 drivers/infiniband/core/roce_gid_mgmt.c:653
     process_one_work+0x93a/0x15e0 kernel/workqueue.c:3261
Call trace for bond0[10] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     neigh_parms_alloc+0x192/0x530 net/core/neighbour.c:1753
     ipv6_add_dev+0x40d/0x1410 net/ipv6/addrconf.c:403
     addrconf_notify+0x771/0x1080 net/ipv6/addrconf.c:3650
     notifier_call_chain+0x19d/0x3d0 kernel/notifier.c:85
     call_netdevice_notifiers_extack net/core/dev.c:2269 [inline]
     call_netdevice_notifiers net/core/dev.c:2283 [inline]
     register_netdevice+0x15fd/0x1b00 net/core/dev.c:11422
     bond_newlink+0x48/0xd0 drivers/net/bonding/bond_netlink.c:601
     rtnl_newlink_create+0x310/0xb00 net/core/rtnetlink.c:3840
     __rtnl_newlink net/core/rtnetlink.c:3957 [inline]
     rtnl_newlink+0x16e7/0x1c90 net/core/rtnetlink.c:4072
     rtnetlink_rcv_msg+0x7cf/0xb70 net/core/rtnetlink.c:6958
     netlink_rcv_skb+0x208/0x470 net/netlink/af_netlink.c:2550
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[11] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     ipv6_add_dev+0x4ae/0x1410 net/ipv6/addrconf.c:411
     addrconf_notify+0x771/0x1080 net/ipv6/addrconf.c:3650
     notifier_call_chain+0x19d/0x3d0 kernel/notifier.c:85
     call_netdevice_notifiers_extack net/core/dev.c:2269 [inline]
     call_netdevice_notifiers net/core/dev.c:2283 [inline]
     register_netdevice+0x15fd/0x1b00 net/core/dev.c:11422
     bond_newlink+0x48/0xd0 drivers/net/bonding/bond_netlink.c:601
     rtnl_newlink_create+0x310/0xb00 net/core/rtnetlink.c:3840
     __rtnl_newlink net/core/rtnetlink.c:3957 [inline]
     rtnl_newlink+0x16e7/0x1c90 net/core/rtnetlink.c:4072
     rtnetlink_rcv_msg+0x7cf/0xb70 net/core/rtnetlink.c:6958
     netlink_rcv_skb+0x208/0x470 net/netlink/af_netlink.c:2550
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[12] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     batadv_hardif_add_interface net/batman-adv/hard-interface.c:878 [inline]
     batadv_hard_if_event+0xb47/0x1280 net/batman-adv/hard-interface.c:958
     notifier_call_chain+0x19d/0x3d0 kernel/notifier.c:85
     call_netdevice_notifiers_extack net/core/dev.c:2269 [inline]
     call_netdevice_notifiers net/core/dev.c:2283 [inline]
     register_netdevice+0x15fd/0x1b00 net/core/dev.c:11422
     bond_newlink+0x48/0xd0 drivers/net/bonding/bond_netlink.c:601
     rtnl_newlink_create+0x310/0xb00 net/core/rtnetlink.c:3840
     __rtnl_newlink net/core/rtnetlink.c:3957 [inline]
     rtnl_newlink+0x16e7/0x1c90 net/core/rtnetlink.c:4072
     rtnetlink_rcv_msg+0x7cf/0xb70 net/core/rtnetlink.c:6958
     netlink_rcv_skb+0x208/0x470 net/netlink/af_netlink.c:2550
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[13] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     linkwatch_add_event net/core/link_watch.c:131 [inline]
     linkwatch_fire_event+0x166/0x220 net/core/link_watch.c:314
     bond_newlink+0x6d/0xd0 drivers/net/bonding/bond_netlink.c:605
     rtnl_newlink_create+0x310/0xb00 net/core/rtnetlink.c:3840
     __rtnl_newlink net/core/rtnetlink.c:3957 [inline]
     rtnl_newlink+0x16e7/0x1c90 net/core/rtnetlink.c:4072
     rtnetlink_rcv_msg+0x7cf/0xb70 net/core/rtnetlink.c:6958
     netlink_rcv_skb+0x208/0x470 net/netlink/af_netlink.c:2550
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[14] +3 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     netdevice_queue_work drivers/infiniband/core/roce_gid_mgmt.c:675 [inline]
     netdevice_event+0x4db/0x8c0 drivers/infiniband/core/roce_gid_mgmt.c:823
     notifier_call_chain+0x19d/0x3d0 kernel/notifier.c:85
     call_netdevice_notifiers_extack net/core/dev.c:2269 [inline]
     call_netdevice_notifiers+0x88/0xc0 net/core/dev.c:2283
     bond_set_dev_addr+0xd6/0x1b0 drivers/net/bonding/bond_main.c:977
     bond_enslave+0x84f/0x3ac0 drivers/net/bonding/bond_main.c:1926
     do_set_master+0x533/0x6d0 net/core/rtnetlink.c:2963
     do_setlink+0xcf0/0x41c0 net/core/rtnetlink.c:3165
     rtnl_changelink net/core/rtnetlink.c:3776 [inline]
     __rtnl_newlink net/core/rtnetlink.c:3935 [inline]
     rtnl_newlink+0x161c/0x1c90 net/core/rtnetlink.c:4072
     rtnetlink_rcv_msg+0x7cf/0xb70 net/core/rtnetlink.c:6958
     netlink_rcv_skb+0x208/0x470 net/netlink/af_netlink.c:2550
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[15] +3 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     netdevice_queue_work drivers/infiniband/core/roce_gid_mgmt.c:676 [inline]
     netdevice_event+0x585/0x8c0 drivers/infiniband/core/roce_gid_mgmt.c:823
     notifier_call_chain+0x19d/0x3d0 kernel/notifier.c:85
     call_netdevice_notifiers_extack net/core/dev.c:2269 [inline]
     call_netdevice_notifiers+0x88/0xc0 net/core/dev.c:2283
     bond_set_dev_addr+0xd6/0x1b0 drivers/net/bonding/bond_main.c:977
     bond_enslave+0x84f/0x3ac0 drivers/net/bonding/bond_main.c:1926
     do_set_master+0x533/0x6d0 net/core/rtnetlink.c:2963
     do_setlink+0xcf0/0x41c0 net/core/rtnetlink.c:3165
     rtnl_changelink net/core/rtnetlink.c:3776 [inline]
     __rtnl_newlink net/core/rtnetlink.c:3935 [inline]
     rtnl_newlink+0x161c/0x1c90 net/core/rtnetlink.c:4072
     rtnetlink_rcv_msg+0x7cf/0xb70 net/core/rtnetlink.c:6958
     netlink_rcv_skb+0x208/0x470 net/netlink/af_netlink.c:2550
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[16] +5 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     __netdev_adjacent_dev_insert+0x21c/0x960 net/core/dev.c:8680
     __netdev_adjacent_dev_link_lists net/core/dev.c:8763 [inline]
     __netdev_adjacent_dev_link_neighbour net/core/dev.c:8792 [inline]
     __netdev_upper_dev_link+0x330/0x5b0 net/core/dev.c:8852
     netdev_master_upper_dev_link+0xb0/0x100 net/core/dev.c:8927
     bond_master_upper_dev_link+0x217/0x360 drivers/net/bonding/bond_main.c:1627
     bond_enslave+0x1fd5/0x3ac0 drivers/net/bonding/bond_main.c:2138
     do_set_master+0x533/0x6d0 net/core/rtnetlink.c:2963
     do_setlink+0xcf0/0x41c0 net/core/rtnetlink.c:3165
     rtnl_changelink net/core/rtnetlink.c:3776 [inline]
     __rtnl_newlink net/core/rtnetlink.c:3935 [inline]
     rtnl_newlink+0x161c/0x1c90 net/core/rtnetlink.c:4072
     rtnetlink_rcv_msg+0x7cf/0xb70 net/core/rtnetlink.c:6958
     netlink_rcv_skb+0x208/0x470 net/netlink/af_netlink.c:2550
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[17] +15 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     netdevice_queue_work drivers/infiniband/core/roce_gid_mgmt.c:676 [inline]
     netdevice_event+0x585/0x8c0 drivers/infiniband/core/roce_gid_mgmt.c:823
     notifier_call_chain+0x19d/0x3d0 kernel/notifier.c:85
     __netdev_upper_dev_link+0x3b2/0x5b0 net/core/dev.c:8857
     netdev_master_upper_dev_link+0xb0/0x100 net/core/dev.c:8927
     bond_master_upper_dev_link+0x217/0x360 drivers/net/bonding/bond_main.c:1627
     bond_enslave+0x1fd5/0x3ac0 drivers/net/bonding/bond_main.c:2138
     do_set_master+0x533/0x6d0 net/core/rtnetlink.c:2963
     do_setlink+0xcf0/0x41c0 net/core/rtnetlink.c:3165
     rtnl_changelink net/core/rtnetlink.c:3776 [inline]
     __rtnl_newlink net/core/rtnetlink.c:3935 [inline]
     rtnl_newlink+0x161c/0x1c90 net/core/rtnetlink.c:4072
     rtnetlink_rcv_msg+0x7cf/0xb70 net/core/rtnetlink.c:6958
     netlink_rcv_skb+0x208/0x470 net/netlink/af_netlink.c:2550
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[18] +10 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     netdevice_queue_work drivers/infiniband/core/roce_gid_mgmt.c:675 [inline]
     netdevice_event+0x4db/0x8c0 drivers/infiniband/core/roce_gid_mgmt.c:823
     notifier_call_chain+0x19d/0x3d0 kernel/notifier.c:85
     __netdev_upper_dev_link+0x3b2/0x5b0 net/core/dev.c:8857
     netdev_master_upper_dev_link+0xb0/0x100 net/core/dev.c:8927
     bond_master_upper_dev_link+0x217/0x360 drivers/net/bonding/bond_main.c:1627
     bond_enslave+0x1fd5/0x3ac0 drivers/net/bonding/bond_main.c:2138
     do_set_master+0x533/0x6d0 net/core/rtnetlink.c:2963
     do_setlink+0xcf0/0x41c0 net/core/rtnetlink.c:3165
     rtnl_changelink net/core/rtnetlink.c:3776 [inline]
     __rtnl_newlink net/core/rtnetlink.c:3935 [inline]
     rtnl_newlink+0x161c/0x1c90 net/core/rtnetlink.c:4072
     rtnetlink_rcv_msg+0x7cf/0xb70 net/core/rtnetlink.c:6958
     netlink_rcv_skb+0x208/0x470 net/netlink/af_netlink.c:2550
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[19] -1 at
     __dev_put include/linux/netdevice.h:4373 [inline]
     linkwatch_do_dev+0x89/0x180 net/core/link_watch.c:191
     __linkwatch_run_queue+0x56a/0x7e0 net/core/link_watch.c:244
     linkwatch_event+0x4c/0x60 net/core/link_watch.c:304
     process_one_work+0x93a/0x15e0 kernel/workqueue.c:3261
Call trace for bond0[20] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     addr_event+0x302/0x480 drivers/infiniband/core/roce_gid_mgmt.c:871
     inetaddr_event+0xe3/0x140 drivers/infiniband/core/roce_gid_mgmt.c:890
     notifier_call_chain+0x19d/0x3d0 kernel/notifier.c:85
     blocking_notifier_call_chain+0x6a/0x90 kernel/notifier.c:380
     __inet_insert_ifa+0x9ee/0xc00 net/ipv4/devinet.c:566
     inet_rtm_newaddr+0xf3a/0x18b0 net/ipv4/devinet.c:1001
     rtnetlink_rcv_msg+0x7cf/0xb70 net/core/rtnetlink.c:6958
     netlink_rcv_skb+0x208/0x470 net/netlink/af_netlink.c:2550
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[21] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     dev_get_by_index+0x1b3/0x2f0 net/core/dev.c:983
     fib_create_info+0x228b/0x3220 net/ipv4/fib_semantics.c:1493
     fib_table_insert+0xca/0x1b80 net/ipv4/fib_trie.c:1212
     fib_magic+0x2c4/0x390 net/ipv4/fib_frontend.c:1134
     fib_add_ifaddr+0x144/0x5f0 net/ipv4/fib_frontend.c:1156
     fib_inetaddr_event+0x12e/0x190 net/ipv4/fib_frontend.c:1470
     notifier_call_chain+0x19d/0x3d0 kernel/notifier.c:85
     blocking_notifier_call_chain+0x6a/0x90 kernel/notifier.c:380
     __inet_insert_ifa+0x9ee/0xc00 net/ipv4/devinet.c:566
     inet_rtm_newaddr+0xf3a/0x18b0 net/ipv4/devinet.c:1001
     rtnetlink_rcv_msg+0x7cf/0xb70 net/core/rtnetlink.c:6958
     netlink_rcv_skb+0x208/0x470 net/netlink/af_netlink.c:2550
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[22] -6 at
     __dev_put include/linux/netdevice.h:4373 [inline]
     netdev_put include/linux/netdevice.h:4440 [inline]
     dev_put include/linux/netdevice.h:4465 [inline]
     update_gid_event_work_handler+0x84/0xf0 drivers/infiniband/core/roce_gid_mgmt.c:835
     process_one_work+0x93a/0x15e0 kernel/workqueue.c:3261
Call trace for bond0[23] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     dev_get_by_index+0x1b3/0x2f0 net/core/dev.c:983
     netdev_get_by_index+0x25/0xb0 net/core/dev.c:1006
     fib6_nh_init+0x1cd/0x2020 net/ipv6/route.c:3590
     ip6_route_info_create_nh+0x16a/0xab0 net/ipv6/route.c:3890
     ip6_route_add+0x6e/0x1b0 net/ipv6/route.c:3942
     addrconf_add_mroute net/ipv6/addrconf.c:2552 [inline]
     addrconf_add_dev+0x23f/0x340 net/ipv6/addrconf.c:2570
     inet6_addr_add+0x191/0xc00 net/ipv6/addrconf.c:3032
     inet6_rtm_newaddr+0x93d/0xd20 net/ipv6/addrconf.c:5059
     rtnetlink_rcv_msg+0x7cf/0xb70 net/core/rtnetlink.c:6958
     netlink_rcv_skb+0x208/0x470 net/netlink/af_netlink.c:2550
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[24] -1 at
     __dev_put include/linux/netdevice.h:4373 [inline]
     netdev_put include/linux/netdevice.h:4440 [inline]
     fib6_nh_init+0xa59/0x2020 net/ipv6/route.c:3692
     ip6_route_info_create_nh+0x16a/0xab0 net/ipv6/route.c:3890
     ip6_route_add+0x6e/0x1b0 net/ipv6/route.c:3942
     addrconf_add_mroute net/ipv6/addrconf.c:2552 [inline]
     addrconf_add_dev+0x23f/0x340 net/ipv6/addrconf.c:2570
     inet6_addr_add+0x191/0xc00 net/ipv6/addrconf.c:3032
     inet6_rtm_newaddr+0x93d/0xd20 net/ipv6/addrconf.c:5059
     rtnetlink_rcv_msg+0x7cf/0xb70 net/core/rtnetlink.c:6958
     netlink_rcv_skb+0x208/0x470 net/netlink/af_netlink.c:2550
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[25] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     dev_get_by_index+0x1b3/0x2f0 net/core/dev.c:983
     netdev_get_by_index+0x25/0xb0 net/core/dev.c:1006
     fib6_nh_init+0x1cd/0x2020 net/ipv6/route.c:3590
     ip6_route_info_create_nh+0x16a/0xab0 net/ipv6/route.c:3890
     addrconf_f6i_alloc+0x203/0x450 net/ipv6/route.c:4682
     ipv6_add_addr+0x56e/0x1090 net/ipv6/addrconf.c:1126
     inet6_addr_add+0x377/0xc00 net/ipv6/addrconf.c:3050
     inet6_rtm_newaddr+0x93d/0xd20 net/ipv6/addrconf.c:5059
     rtnetlink_rcv_msg+0x7cf/0xb70 net/core/rtnetlink.c:6958
     netlink_rcv_skb+0x208/0x470 net/netlink/af_netlink.c:2550
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[26] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     addr_event+0x302/0x480 drivers/infiniband/core/roce_gid_mgmt.c:871
     inet6addr_event+0x9f/0xd0 drivers/infiniband/core/roce_gid_mgmt.c:904
     notifier_call_chain+0x19d/0x3d0 kernel/notifier.c:85
     atomic_notifier_call_chain+0xda/0x180 kernel/notifier.c:223
     ipv6_add_addr+0xda9/0x1090 net/ipv6/addrconf.c:1186
     inet6_addr_add+0x377/0xc00 net/ipv6/addrconf.c:3050
     inet6_rtm_newaddr+0x93d/0xd20 net/ipv6/addrconf.c:5059
     rtnetlink_rcv_msg+0x7cf/0xb70 net/core/rtnetlink.c:6958
     netlink_rcv_skb+0x208/0x470 net/netlink/af_netlink.c:2550
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[27] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     dev_get_by_index+0x1b3/0x2f0 net/core/dev.c:983
     netdev_get_by_index+0x25/0xb0 net/core/dev.c:1006
     fib6_nh_init+0x1cd/0x2020 net/ipv6/route.c:3590
     ip6_route_info_create_nh+0x16a/0xab0 net/ipv6/route.c:3890
     ip6_route_add+0x6e/0x1b0 net/ipv6/route.c:3942
     addrconf_prefix_route net/ipv6/addrconf.c:2488 [inline]
     inet6_addr_add+0x6a2/0xc00 net/ipv6/addrconf.c:3053
     inet6_rtm_newaddr+0x93d/0xd20 net/ipv6/addrconf.c:5059
     rtnetlink_rcv_msg+0x7cf/0xb70 net/core/rtnetlink.c:6958
     netlink_rcv_skb+0x208/0x470 net/netlink/af_netlink.c:2550
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[28] -1 at
     __dev_put include/linux/netdevice.h:4373 [inline]
     netdev_put include/linux/netdevice.h:4440 [inline]
     fib6_nh_init+0xa59/0x2020 net/ipv6/route.c:3692
     ip6_route_info_create_nh+0x16a/0xab0 net/ipv6/route.c:3890
     ip6_route_add+0x6e/0x1b0 net/ipv6/route.c:3942
     addrconf_prefix_route net/ipv6/addrconf.c:2488 [inline]
     inet6_addr_add+0x6a2/0xc00 net/ipv6/addrconf.c:3053
     inet6_rtm_newaddr+0x93d/0xd20 net/ipv6/addrconf.c:5059
     rtnetlink_rcv_msg+0x7cf/0xb70 net/core/rtnetlink.c:6958
     netlink_rcv_skb+0x208/0x470 net/netlink/af_netlink.c:2550
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[29] +3 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     netdevice_queue_work drivers/infiniband/core/roce_gid_mgmt.c:675 [inline]
     netdevice_event+0x4db/0x8c0 drivers/infiniband/core/roce_gid_mgmt.c:823
     notifier_call_chain+0x19d/0x3d0 kernel/notifier.c:85
     call_netdevice_notifiers_extack net/core/dev.c:2269 [inline]
     call_netdevice_notifiers net/core/dev.c:2283 [inline]
     netif_set_mac_address+0x37c/0x4c0 net/core/dev.c:9968
     do_setlink+0x88c/0x41c0 net/core/rtnetlink.c:3110
     rtnl_changelink net/core/rtnetlink.c:3776 [inline]
     __rtnl_newlink net/core/rtnetlink.c:3935 [inline]
     rtnl_newlink+0x161c/0x1c90 net/core/rtnetlink.c:4072
     rtnetlink_rcv_msg+0x7cf/0xb70 net/core/rtnetlink.c:6958
     netlink_rcv_skb+0x208/0x470 net/netlink/af_netlink.c:2550
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[30] +3 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     netdevice_queue_work drivers/infiniband/core/roce_gid_mgmt.c:676 [inline]
     netdevice_event+0x585/0x8c0 drivers/infiniband/core/roce_gid_mgmt.c:823
     notifier_call_chain+0x19d/0x3d0 kernel/notifier.c:85
     call_netdevice_notifiers_extack net/core/dev.c:2269 [inline]
     call_netdevice_notifiers net/core/dev.c:2283 [inline]
     netif_set_mac_address+0x37c/0x4c0 net/core/dev.c:9968
     do_setlink+0x88c/0x41c0 net/core/rtnetlink.c:3110
     rtnl_changelink net/core/rtnetlink.c:3776 [inline]
     __rtnl_newlink net/core/rtnetlink.c:3935 [inline]
     rtnl_newlink+0x161c/0x1c90 net/core/rtnetlink.c:4072
     rtnetlink_rcv_msg+0x7cf/0xb70 net/core/rtnetlink.c:6958
     netlink_rcv_skb+0x208/0x470 net/netlink/af_netlink.c:2550
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[31] +16 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     qdisc_alloc+0x631/0x910 net/sched/sch_generic.c:985
     qdisc_create_dflt+0x8e/0x4e0 net/sched/sch_generic.c:1008
     attach_one_default_qdisc net/sched/sch_generic.c:1174 [inline]
     netdev_for_each_tx_queue include/linux/netdevice.h:2672 [inline]
     attach_default_qdiscs net/sched/sch_generic.c:1192 [inline]
     dev_activate+0x378/0x1150 net/sched/sch_generic.c:1251
     __dev_open+0x66d/0x870 net/core/dev.c:1692
     __dev_change_flags+0x1da/0x6d0 net/core/dev.c:9727
     netif_change_flags+0x88/0x1a0 net/core/dev.c:9790
     do_setlink+0xc55/0x41c0 net/core/rtnetlink.c:3158
     rtnl_changelink net/core/rtnetlink.c:3776 [inline]
     __rtnl_newlink net/core/rtnetlink.c:3935 [inline]
     rtnl_newlink+0x161c/0x1c90 net/core/rtnetlink.c:4072
     rtnetlink_rcv_msg+0x7cf/0xb70 net/core/rtnetlink.c:6958
     netlink_rcv_skb+0x208/0x470 net/netlink/af_netlink.c:2550
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[32] +3 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     netdevice_queue_work drivers/infiniband/core/roce_gid_mgmt.c:675 [inline]
     netdevice_event+0x4db/0x8c0 drivers/infiniband/core/roce_gid_mgmt.c:823
     notifier_call_chain+0x19d/0x3d0 kernel/notifier.c:85
     call_netdevice_notifiers_extack net/core/dev.c:2269 [inline]
     call_netdevice_notifiers net/core/dev.c:2283 [inline]
     __dev_notify_flags+0x18d/0x2e0 net/core/dev.c:-1
     netif_change_flags+0xe8/0x1a0 net/core/dev.c:9795
     do_setlink+0xc55/0x41c0 net/core/rtnetlink.c:3158
     rtnl_changelink net/core/rtnetlink.c:3776 [inline]
     __rtnl_newlink net/core/rtnetlink.c:3935 [inline]
     rtnl_newlink+0x161c/0x1c90 net/core/rtnetlink.c:4072
     rtnetlink_rcv_msg+0x7cf/0xb70 net/core/rtnetlink.c:6958
     netlink_rcv_skb+0x208/0x470 net/netlink/af_netlink.c:2550
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[33] +3 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     netdevice_queue_work drivers/infiniband/core/roce_gid_mgmt.c:676 [inline]
     netdevice_event+0x585/0x8c0 drivers/infiniband/core/roce_gid_mgmt.c:823
     notifier_call_chain+0x19d/0x3d0 kernel/notifier.c:85
     call_netdevice_notifiers_extack net/core/dev.c:2269 [inline]
     call_netdevice_notifiers net/core/dev.c:2283 [inline]
     __dev_notify_flags+0x18d/0x2e0 net/core/dev.c:-1
     netif_change_flags+0xe8/0x1a0 net/core/dev.c:9795
     do_setlink+0xc55/0x41c0 net/core/rtnetlink.c:3158
     rtnl_changelink net/core/rtnetlink.c:3776 [inline]
     __rtnl_newlink net/core/rtnetlink.c:3935 [inline]
     rtnl_newlink+0x161c/0x1c90 net/core/rtnetlink.c:4072
     rtnetlink_rcv_msg+0x7cf/0xb70 net/core/rtnetlink.c:6958
     netlink_rcv_skb+0x208/0x470 net/netlink/af_netlink.c:2550
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[34] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     dev_get_by_index+0x1b3/0x2f0 net/core/dev.c:983
     fib_create_info+0x228b/0x3220 net/ipv4/fib_semantics.c:1493
     fib_table_insert+0xca/0x1b80 net/ipv4/fib_trie.c:1212
     fib_magic+0x2c4/0x390 net/ipv4/fib_frontend.c:1134
     fib_add_ifaddr+0x144/0x5f0 net/ipv4/fib_frontend.c:1156
     fib_netdev_event+0x382/0x490 net/ipv4/fib_frontend.c:1516
     notifier_call_chain+0x19d/0x3d0 kernel/notifier.c:85
     call_netdevice_notifiers_extack net/core/dev.c:2269 [inline]
     call_netdevice_notifiers net/core/dev.c:2283 [inline]
     __dev_notify_flags+0x18d/0x2e0 net/core/dev.c:-1
     netif_change_flags+0xe8/0x1a0 net/core/dev.c:9795
     do_setlink+0xc55/0x41c0 net/core/rtnetlink.c:3158
     rtnl_changelink net/core/rtnetlink.c:3776 [inline]
     __rtnl_newlink net/core/rtnetlink.c:3935 [inline]
     rtnl_newlink+0x161c/0x1c90 net/core/rtnetlink.c:4072
     rtnetlink_rcv_msg+0x7cf/0xb70 net/core/rtnetlink.c:6958
     netlink_rcv_skb+0x208/0x470 net/netlink/af_netlink.c:2550
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[35] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     fib_check_nh_nongw net/ipv4/fib_semantics.c:1263 [inline]
     fib_check_nh+0xbed/0x1940 net/ipv4/fib_semantics.c:1283
     fib_create_info+0x207a/0x3220 net/ipv4/fib_semantics.c:1503
     fib_table_insert+0xca/0x1b80 net/ipv4/fib_trie.c:1212
     fib_magic+0x2c4/0x390 net/ipv4/fib_frontend.c:1134
     fib_add_ifaddr+0x38d/0x5f0 net/ipv4/fib_frontend.c:1171
     fib_netdev_event+0x382/0x490 net/ipv4/fib_frontend.c:1516
     notifier_call_chain+0x19d/0x3d0 kernel/notifier.c:85
     call_netdevice_notifiers_extack net/core/dev.c:2269 [inline]
     call_netdevice_notifiers net/core/dev.c:2283 [inline]
     __dev_notify_flags+0x18d/0x2e0 net/core/dev.c:-1
     netif_change_flags+0xe8/0x1a0 net/core/dev.c:9795
     do_setlink+0xc55/0x41c0 net/core/rtnetlink.c:3158
     rtnl_changelink net/core/rtnetlink.c:3776 [inline]
     __rtnl_newlink net/core/rtnetlink.c:3935 [inline]
     rtnl_newlink+0x161c/0x1c90 net/core/rtnetlink.c:4072
     rtnetlink_rcv_msg+0x7cf/0xb70 net/core/rtnetlink.c:6958
     netlink_rcv_skb+0x208/0x470 net/netlink/af_netlink.c:2550
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[36] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     fib_check_nh_nongw net/ipv4/fib_semantics.c:1263 [inline]
     fib_check_nh+0xbed/0x1940 net/ipv4/fib_semantics.c:1283
     fib_create_info+0x207a/0x3220 net/ipv4/fib_semantics.c:1503
     fib_table_insert+0xca/0x1b80 net/ipv4/fib_trie.c:1212
     fib_magic+0x2c4/0x390 net/ipv4/fib_frontend.c:1134
     fib_add_ifaddr+0x3fb/0x5f0 net/ipv4/fib_frontend.c:1178
     fib_netdev_event+0x382/0x490 net/ipv4/fib_frontend.c:1516
     notifier_call_chain+0x19d/0x3d0 kernel/notifier.c:85
     call_netdevice_notifiers_extack net/core/dev.c:2269 [inline]
     call_netdevice_notifiers net/core/dev.c:2283 [inline]
     __dev_notify_flags+0x18d/0x2e0 net/core/dev.c:-1
     netif_change_flags+0xe8/0x1a0 net/core/dev.c:9795
     do_setlink+0xc55/0x41c0 net/core/rtnetlink.c:3158
     rtnl_changelink net/core/rtnetlink.c:3776 [inline]
     __rtnl_newlink net/core/rtnetlink.c:3935 [inline]
     rtnl_newlink+0x161c/0x1c90 net/core/rtnetlink.c:4072
     rtnetlink_rcv_msg+0x7cf/0xb70 net/core/rtnetlink.c:6958
     netlink_rcv_skb+0x208/0x470 net/netlink/af_netlink.c:2550
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[37] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     dev_get_by_index+0x1b3/0x2f0 net/core/dev.c:983
     netdev_get_by_index+0x25/0xb0 net/core/dev.c:1006
     fib6_nh_init+0x1cd/0x2020 net/ipv6/route.c:3590
     ip6_route_info_create_nh+0x16a/0xab0 net/ipv6/route.c:3890
     addrconf_f6i_alloc+0x203/0x450 net/ipv6/route.c:4682
     fixup_permanent_addr net/ipv6/addrconf.c:3583 [inline]
     addrconf_permanent_addr+0x274/0x9d0 net/ipv6/addrconf.c:3622
     addrconf_notify+0x864/0x1080 net/ipv6/addrconf.c:3694
     notifier_call_chain+0x19d/0x3d0 kernel/notifier.c:85
     call_netdevice_notifiers_extack net/core/dev.c:2269 [inline]
     call_netdevice_notifiers net/core/dev.c:2283 [inline]
     __dev_notify_flags+0x18d/0x2e0 net/core/dev.c:-1
     netif_change_flags+0xe8/0x1a0 net/core/dev.c:9795
     do_setlink+0xc55/0x41c0 net/core/rtnetlink.c:3158
     rtnl_changelink net/core/rtnetlink.c:3776 [inline]
     __rtnl_newlink net/core/rtnetlink.c:3935 [inline]
     rtnl_newlink+0x161c/0x1c90 net/core/rtnetlink.c:4072
     rtnetlink_rcv_msg+0x7cf/0xb70 net/core/rtnetlink.c:6958
     netlink_rcv_skb+0x208/0x470 net/netlink/af_netlink.c:2550
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
     __sys_sendto+0x3bd/0x520 net/socket.c:2248
     __do_sys_sendto net/socket.c:2255 [inline]
     __se_sys_sendto net/socket.c:2251 [inline]
     __x64_sys_sendto+0xde/0x100 net/socket.c:2251
     do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
     do_syscall_64+0xfa/0xfa0 arch/x86/entry/syscall_64.c:94
Call trace for bond0[38] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     dev_get_by_index+0x1b3/0x2f0 net/core/dev.c:983
     netdev_get_by_index+0x25/0xb0 net/core/dev.c:1006
     fib6_nh_init+0x1cd/0x2020 net/ipv6/route.c:3590
     ip6_route_info_create_nh+0x16a/0xab0 net/ipv6/route.c:3890
     ip6_route_add+0x6e/0x1b0 net/ipv6/route.c:3942
     addrconf_prefix_route net/ipv6/addrconf.c:2488 [inline]
     fixup_permanent_addr net/ipv6/addrconf.c:3598 [inline]
     addrconf_permanent_addr+0x67f/0x9d0 net/ipv6/addrconf.c:3622
     addrconf_notify+0x864/0x1080 net/ipv6/addrconf.c:3694
     notifier_call_chain+0x19d/0x3d0 kernel/notifier.c:85
     call_netdevice_notifiers_extack net/core/dev.c:2269 [inline]
     call_netdevice_notifiers net/core/dev.c:2283 [inline]
     __dev_notify_flags+0x18d/0x2e0 net/core/dev.c:-1
     netif_change_flags+0xe8/0x1a0 net/core/dev.c:9795
     do_setlink+0xc55/0x41c0 net/core/rtnetlink.c:3158
     rtnl_changelink net/core/rtnetlink.c:3776 [inline]
     __rtnl_newlink net/core/rtnetlink.c:3935 [inline]
     rtnl_newlink+0x161c/0x1c90 net/core/rtnetlink.c:4072
     rtnetlink_rcv_msg+0x7cf/0xb70 net/core/rtnetlink.c:6958
     netlink_rcv_skb+0x208/0x470 net/netlink/af_netlink.c:2550
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
     __sys_sendto+0x3bd/0x520 net/socket.c:2248
     __do_sys_sendto net/socket.c:2255 [inline]
     __se_sys_sendto net/socket.c:2251 [inline]
     __x64_sys_sendto+0xde/0x100 net/socket.c:2251
     do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
     do_syscall_64+0xfa/0xfa0 arch/x86/entry/syscall_64.c:94
Call trace for bond0[39] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     dev_get_by_index+0x1b3/0x2f0 net/core/dev.c:983
     netdev_get_by_index+0x25/0xb0 net/core/dev.c:1006
     fib6_nh_init+0x1cd/0x2020 net/ipv6/route.c:3590
     ip6_route_info_create_nh+0x16a/0xab0 net/ipv6/route.c:3890
     ip6_route_add+0x6e/0x1b0 net/ipv6/route.c:3942
     addrconf_add_mroute net/ipv6/addrconf.c:2552 [inline]
     addrconf_add_dev+0x23f/0x340 net/ipv6/addrconf.c:2570
     addrconf_dev_config net/ipv6/addrconf.c:3479 [inline]
     addrconf_init_auto_addrs+0x511/0xac0 net/ipv6/addrconf.c:3567
     addrconf_notify+0xb1e/0x1080 net/ipv6/addrconf.c:3740
     notifier_call_chain+0x19d/0x3d0 kernel/notifier.c:85
     call_netdevice_notifiers_extack net/core/dev.c:2269 [inline]
     call_netdevice_notifiers net/core/dev.c:2283 [inline]
     __dev_notify_flags+0x18d/0x2e0 net/core/dev.c:-1
     netif_change_flags+0xe8/0x1a0 net/core/dev.c:9795
     do_setlink+0xc55/0x41c0 net/core/rtnetlink.c:3158
     rtnl_changelink net/core/rtnetlink.c:3776 [inline]
     __rtnl_newlink net/core/rtnetlink.c:3935 [inline]
     rtnl_newlink+0x161c/0x1c90 net/core/rtnetlink.c:4072
     rtnetlink_rcv_msg+0x7cf/0xb70 net/core/rtnetlink.c:6958
     netlink_rcv_skb+0x208/0x470 net/netlink/af_netlink.c:2550
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[40] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     dev_get_by_index+0x1b3/0x2f0 net/core/dev.c:983
     netdev_get_by_index+0x25/0xb0 net/core/dev.c:1006
     fib6_nh_init+0x1cd/0x2020 net/ipv6/route.c:3590
     ip6_route_info_create_nh+0x16a/0xab0 net/ipv6/route.c:3890
     addrconf_f6i_alloc+0x203/0x450 net/ipv6/route.c:4682
     ipv6_add_addr+0x56e/0x1090 net/ipv6/addrconf.c:1126
     addrconf_add_linklocal+0x28c/0x6c0 net/ipv6/addrconf.c:3311
     addrconf_addr_gen+0x490/0x580 net/ipv6/addrconf.c:3442
     addrconf_init_auto_addrs+0x5c2/0xac0 net/ipv6/addrconf.c:-1
     addrconf_notify+0xb1e/0x1080 net/ipv6/addrconf.c:3740
     notifier_call_chain+0x19d/0x3d0 kernel/notifier.c:85
     call_netdevice_notifiers_extack net/core/dev.c:2269 [inline]
     call_netdevice_notifiers net/core/dev.c:2283 [inline]
     __dev_notify_flags+0x18d/0x2e0 net/core/dev.c:-1
     netif_change_flags+0xe8/0x1a0 net/core/dev.c:9795
     do_setlink+0xc55/0x41c0 net/core/rtnetlink.c:3158
     rtnl_changelink net/core/rtnetlink.c:3776 [inline]
     __rtnl_newlink net/core/rtnetlink.c:3935 [inline]
     rtnl_newlink+0x161c/0x1c90 net/core/rtnetlink.c:4072
     rtnetlink_rcv_msg+0x7cf/0xb70 net/core/rtnetlink.c:6958
     netlink_rcv_skb+0x208/0x470 net/netlink/af_netlink.c:2550
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[41] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     addr_event+0x302/0x480 drivers/infiniband/core/roce_gid_mgmt.c:871
     inet6addr_event+0x9f/0xd0 drivers/infiniband/core/roce_gid_mgmt.c:904
     notifier_call_chain+0x19d/0x3d0 kernel/notifier.c:85
     atomic_notifier_call_chain+0xda/0x180 kernel/notifier.c:223
     ipv6_add_addr+0xda9/0x1090 net/ipv6/addrconf.c:1186
     addrconf_add_linklocal+0x28c/0x6c0 net/ipv6/addrconf.c:3311
     addrconf_addr_gen+0x490/0x580 net/ipv6/addrconf.c:3442
     addrconf_init_auto_addrs+0x5c2/0xac0 net/ipv6/addrconf.c:-1
     addrconf_notify+0xb1e/0x1080 net/ipv6/addrconf.c:3740
     notifier_call_chain+0x19d/0x3d0 kernel/notifier.c:85
     call_netdevice_notifiers_extack net/core/dev.c:2269 [inline]
     call_netdevice_notifiers net/core/dev.c:2283 [inline]
     __dev_notify_flags+0x18d/0x2e0 net/core/dev.c:-1
     netif_change_flags+0xe8/0x1a0 net/core/dev.c:9795
     do_setlink+0xc55/0x41c0 net/core/rtnetlink.c:3158
     rtnl_changelink net/core/rtnetlink.c:3776 [inline]
     __rtnl_newlink net/core/rtnetlink.c:3935 [inline]
     rtnl_newlink+0x161c/0x1c90 net/core/rtnetlink.c:4072
     rtnetlink_rcv_msg+0x7cf/0xb70 net/core/rtnetlink.c:6958
     netlink_rcv_skb+0x208/0x470 net/netlink/af_netlink.c:2550
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[42] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     dev_get_by_index+0x1b3/0x2f0 net/core/dev.c:983
     netdev_get_by_index+0x25/0xb0 net/core/dev.c:1006
     fib6_nh_init+0x1cd/0x2020 net/ipv6/route.c:3590
     ip6_route_info_create_nh+0x16a/0xab0 net/ipv6/route.c:3890
     ip6_route_add+0x6e/0x1b0 net/ipv6/route.c:3942
     addrconf_prefix_route net/ipv6/addrconf.c:2488 [inline]
     addrconf_add_linklocal+0x45f/0x6c0 net/ipv6/addrconf.c:3313
     addrconf_addr_gen+0x490/0x580 net/ipv6/addrconf.c:3442
     addrconf_init_auto_addrs+0x5c2/0xac0 net/ipv6/addrconf.c:-1
     addrconf_notify+0xb1e/0x1080 net/ipv6/addrconf.c:3740
     notifier_call_chain+0x19d/0x3d0 kernel/notifier.c:85
     call_netdevice_notifiers_extack net/core/dev.c:2269 [inline]
     call_netdevice_notifiers net/core/dev.c:2283 [inline]
     __dev_notify_flags+0x18d/0x2e0 net/core/dev.c:-1
     netif_change_flags+0xe8/0x1a0 net/core/dev.c:9795
     do_setlink+0xc55/0x41c0 net/core/rtnetlink.c:3158
     rtnl_changelink net/core/rtnetlink.c:3776 [inline]
     __rtnl_newlink net/core/rtnetlink.c:3935 [inline]
     rtnl_newlink+0x161c/0x1c90 net/core/rtnetlink.c:4072
     rtnetlink_rcv_msg+0x7cf/0xb70 net/core/rtnetlink.c:6958
     netlink_rcv_skb+0x208/0x470 net/netlink/af_netlink.c:2550
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[43] -4 at
     __dev_put include/linux/netdevice.h:4373 [inline]
     netdev_put include/linux/netdevice.h:4440 [inline]
     fib_nh_common_release+0x5c/0x430 net/ipv4/fib_semantics.c:204
     fib_nh_release net/ipv4/fib_semantics.c:218 [inline]
     free_fib_info_rcu+0xdf/0x310 net/ipv4/fib_semantics.c:230
     rcu_do_batch kernel/rcu/tree.c:2605 [inline]
     rcu_core+0xcab/0x1770 kernel/rcu/tree.c:2861
     handle_softirqs+0x27d/0x880 kernel/softirq.c:626
Call trace for bond0[44] -6 at
     __dev_put include/linux/netdevice.h:4373 [inline]
     netdev_put include/linux/netdevice.h:4440 [inline]
     fib_nh_common_release+0x5c/0x430 net/ipv4/fib_semantics.c:204
     fib6_info_destroy_rcu+0xca/0x1c0 net/ipv6/ip6_fib.c:177
     rcu_do_batch kernel/rcu/tree.c:2605 [inline]
     rcu_core+0xcab/0x1770 kernel/rcu/tree.c:2861
     handle_softirqs+0x27d/0x880 kernel/softirq.c:626
Call trace for bond0[45] +2 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dst_init+0x6f/0x460 net/core/dst.c:52
     dst_alloc+0x12a/0x170 net/core/dst.c:93
     ip6_dst_alloc net/ipv6/route.c:342 [inline]
     icmp6_dst_alloc+0x75/0x420 net/ipv6/route.c:3322
     mld_sendpack+0x683/0xe60 net/ipv6/mcast.c:1844
     mld_send_cr net/ipv6/mcast.c:2154 [inline]
     mld_ifc_work+0x83e/0xd60 net/ipv6/mcast.c:2693
     process_one_work+0x93a/0x15e0 kernel/workqueue.c:3261
Call trace for bond0[46] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     ___neigh_create+0xc2d/0x2260 net/core/neighbour.c:665
     ip6_finish_output2+0x1175/0x1480 net/ipv6/ip6_output.c:128
     NF_HOOK_COND include/linux/netfilter.h:307 [inline]
     ip6_output+0x340/0x550 net/ipv6/ip6_output.c:247
     NF_HOOK+0x9e/0x380 include/linux/netfilter.h:318
     mld_sendpack+0x8d4/0xe60 net/ipv6/mcast.c:1855
     mld_send_cr net/ipv6/mcast.c:2154 [inline]
     mld_ifc_work+0x83e/0xd60 net/ipv6/mcast.c:2693
     process_one_work+0x93a/0x15e0 kernel/workqueue.c:3261
Call trace for bond0[47] -14 at
     __dev_put include/linux/netdevice.h:4373 [inline]
     netdev_put include/linux/netdevice.h:4440 [inline]
     dst_destroy+0x117/0x360 net/core/dst.c:114
     rcu_do_batch kernel/rcu/tree.c:2605 [inline]
     rcu_core+0xcab/0x1770 kernel/rcu/tree.c:2861
     handle_softirqs+0x27d/0x880 kernel/softirq.c:626
Call trace for bond0[48] +2 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dst_init+0x6f/0x460 net/core/dst.c:52
     dst_alloc+0x12a/0x170 net/core/dst.c:93
     ip6_dst_alloc net/ipv6/route.c:342 [inline]
     ip6_rt_pcpu_alloc net/ipv6/route.c:1418 [inline]
     rt6_make_pcpu_route net/ipv6/route.c:1467 [inline]
     ip6_pol_route+0xa21/0x1180 net/ipv6/route.c:2305
     pol_lookup_func include/net/ip6_fib.h:617 [inline]
     fib6_rule_lookup+0x52f/0x6f0 net/ipv6/fib6_rules.c:120
     ip6_route_input_lookup net/ipv6/route.c:2338 [inline]
     ip6_route_input+0x6de/0xad0 net/ipv6/route.c:2641
     ip6_rcv_finish+0x141/0x2e0 net/ipv6/ip6_input.c:77
     NF_HOOK+0x30c/0x3a0 include/linux/netfilter.h:318
     __netif_receive_skb_one_core net/core/dev.c:6130 [inline]
     __netif_receive_skb+0xd3/0x380 net/core/dev.c:6243
     process_backlog+0x622/0x1530 net/core/dev.c:6595
     __napi_poll+0xae/0x320 net/core/dev.c:7659
     napi_poll net/core/dev.c:7722 [inline]
     net_rx_action+0x672/0xe50 net/core/dev.c:7874
     handle_softirqs+0x27d/0x880 kernel/softirq.c:626
Call trace for bond0[49] +2 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dst_init+0x6f/0x460 net/core/dst.c:52
     dst_alloc+0x12a/0x170 net/core/dst.c:93
     ip6_dst_alloc net/ipv6/route.c:342 [inline]
     icmp6_dst_alloc+0x75/0x420 net/ipv6/route.c:3322
     ndisc_send_skb+0x3f1/0x1510 net/ipv6/ndisc.c:491
     ndisc_send_ns+0xcb/0x150 net/ipv6/ndisc.c:670
     addrconf_dad_work+0xaae/0x14b0 net/ipv6/addrconf.c:4282
     process_one_work+0x93a/0x15e0 kernel/workqueue.c:3261
Call trace for bond0[50] +2 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     ___neigh_create+0xc2d/0x2260 net/core/neighbour.c:665
     ip6_finish_output2+0x1175/0x1480 net/ipv6/ip6_output.c:128
     NF_HOOK_COND include/linux/netfilter.h:307 [inline]
     ip6_output+0x340/0x550 net/ipv6/ip6_output.c:247
     NF_HOOK include/linux/netfilter.h:318 [inline]
     ndisc_send_skb+0xbce/0x1510 net/ipv6/ndisc.c:512
     ndisc_send_ns+0xcb/0x150 net/ipv6/ndisc.c:670
     addrconf_dad_work+0xaae/0x14b0 net/ipv6/addrconf.c:4282
     process_one_work+0x93a/0x15e0 kernel/workqueue.c:3261
Call trace for bond0[51] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dst_init+0x6f/0x460 net/core/dst.c:52
     dst_alloc+0x12a/0x170 net/core/dst.c:93
     ip6_dst_alloc net/ipv6/route.c:342 [inline]
     icmp6_dst_alloc+0x75/0x420 net/ipv6/route.c:3322
     mld_sendpack+0x683/0xe60 net/ipv6/mcast.c:1844
     ipv6_mc_dad_complete+0x88/0x410 net/ipv6/mcast.c:2279
     addrconf_dad_completed+0x6d5/0xd60 net/ipv6/addrconf.c:4340
     addrconf_dad_work+0xc36/0x14b0 net/ipv6/addrconf.c:-1
     process_one_work+0x93a/0x15e0 kernel/workqueue.c:3261
Call trace for bond0[52] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dst_init+0x6f/0x460 net/core/dst.c:52
     dst_alloc+0x12a/0x170 net/core/dst.c:93
     ip6_dst_alloc net/ipv6/route.c:342 [inline]
     icmp6_dst_alloc+0x75/0x420 net/ipv6/route.c:3322
     ndisc_send_skb+0x3f1/0x1510 net/ipv6/ndisc.c:491
     addrconf_dad_completed+0x7ae/0xd60 net/ipv6/addrconf.c:4360
     addrconf_dad_work+0xc36/0x14b0 net/ipv6/addrconf.c:-1
     process_one_work+0x93a/0x15e0 kernel/workqueue.c:3261
Call trace for bond0[53] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     ___neigh_create+0xc2d/0x2260 net/core/neighbour.c:665
     ip6_finish_output2+0x1175/0x1480 net/ipv6/ip6_output.c:128
     NF_HOOK_COND include/linux/netfilter.h:307 [inline]
     ip6_output+0x340/0x550 net/ipv6/ip6_output.c:247
     NF_HOOK include/linux/netfilter.h:318 [inline]
     ndisc_send_skb+0xbce/0x1510 net/ipv6/ndisc.c:512
     addrconf_dad_completed+0x7ae/0xd60 net/ipv6/addrconf.c:4360
     addrconf_dad_work+0xc36/0x14b0 net/ipv6/addrconf.c:-1
     process_one_work+0x93a/0x15e0 kernel/workqueue.c:3261
Call trace for bond0[54] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dst_init+0x6f/0x460 net/core/dst.c:52
     dst_alloc+0x12a/0x170 net/core/dst.c:93
     ip6_dst_alloc net/ipv6/route.c:342 [inline]
     icmp6_dst_alloc+0x75/0x420 net/ipv6/route.c:3322
     mld_sendpack+0x683/0xe60 net/ipv6/mcast.c:1844
     mld_dad_work+0x46/0x490 net/ipv6/mcast.c:2294
     process_one_work+0x93a/0x15e0 kernel/workqueue.c:3261
Call trace for bond0[55] +7 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dst_init+0x6f/0x460 net/core/dst.c:52
     dst_alloc+0x12a/0x170 net/core/dst.c:93
     ip6_dst_alloc net/ipv6/route.c:342 [inline]
     icmp6_dst_alloc+0x75/0x420 net/ipv6/route.c:3322
     ndisc_send_skb+0x3f1/0x1510 net/ipv6/ndisc.c:491
     addrconf_rs_timer+0x369/0x6a0 net/ipv6/addrconf.c:4037
     call_timer_fn+0x16e/0x600 kernel/time/timer.c:1747
     expire_timers kernel/time/timer.c:1798 [inline]
     __run_timers kernel/time/timer.c:2372 [inline]
     __run_timer_base+0x61a/0x860 kernel/time/timer.c:2384
     run_timer_base kernel/time/timer.c:2393 [inline]
     run_timer_softirq+0xb7/0x180 kernel/time/timer.c:2403
     handle_softirqs+0x27d/0x880 kernel/softirq.c:626
Call trace for bond0[56] -2 at
     __dev_put include/linux/netdevice.h:4373 [inline]
     netdev_put include/linux/netdevice.h:4440 [inline]
     neigh_destroy+0x35c/0x5d0 net/core/neighbour.c:941
     neigh_remove_one+0x46d/0x4c0 net/core/neighbour.c:250
     neigh_forced_gc net/core/neighbour.c:281 [inline]
     neigh_alloc net/core/neighbour.c:513 [inline]
     ___neigh_create+0x485/0x2260 net/core/neighbour.c:656
     ip6_finish_output2+0x1175/0x1480 net/ipv6/ip6_output.c:128
     NF_HOOK_COND include/linux/netfilter.h:307 [inline]
     ip6_output+0x340/0x550 net/ipv6/ip6_output.c:247
     NF_HOOK include/linux/netfilter.h:318 [inline]
     ndisc_send_skb+0xbce/0x1510 net/ipv6/ndisc.c:512
     addrconf_rs_timer+0x369/0x6a0 net/ipv6/addrconf.c:4037
     call_timer_fn+0x16e/0x600 kernel/time/timer.c:1747
     expire_timers kernel/time/timer.c:1798 [inline]
     __run_timers kernel/time/timer.c:2372 [inline]
     __run_timer_base+0x61a/0x860 kernel/time/timer.c:2384
     run_timer_base kernel/time/timer.c:2393 [inline]
     run_timer_softirq+0xb7/0x180 kernel/time/timer.c:2403
     handle_softirqs+0x27d/0x880 kernel/softirq.c:626
Call trace for bond0[57] -1 at
     __dev_put include/linux/netdevice.h:4373 [inline]
     netdev_put include/linux/netdevice.h:4440 [inline]
     neigh_destroy+0x35c/0x5d0 net/core/neighbour.c:941
     neigh_remove_one+0x46d/0x4c0 net/core/neighbour.c:250
     neigh_forced_gc net/core/neighbour.c:281 [inline]
     neigh_alloc net/core/neighbour.c:513 [inline]
     ___neigh_create+0x485/0x2260 net/core/neighbour.c:656
     ip6_finish_output2+0x1175/0x1480 net/ipv6/ip6_output.c:128
     NF_HOOK_COND include/linux/netfilter.h:307 [inline]
     ip6_output+0x340/0x550 net/ipv6/ip6_output.c:247
     ip6_mr_output+0x4e9/0x1100 net/ipv6/ip6mr.c:2415
     ip6tunnel_xmit include/net/ip6_tunnel.h:162 [inline]
     udp_tunnel6_xmit_skb+0x68d/0xb30 net/ipv6/ip6_udp_tunnel.c:112
     tipc_udp_xmit+0x4f2/0xb60 net/tipc/udp_media.c:220
     tipc_bearer_xmit_skb+0x2b3/0x400 net/tipc/bearer.c:575
     tipc_enable_bearer net/tipc/bearer.c:366 [inline]
     __tipc_nl_bearer_enable+0x1044/0x13f0 net/tipc/bearer.c:1047
     tipc_nl_bearer_enable+0x22/0x40 net/tipc/bearer.c:1056
     genl_family_rcv_msg_doit+0x215/0x300 net/netlink/genetlink.c:1115
     genl_family_rcv_msg net/netlink/genetlink.c:1195 [inline]
     genl_rcv_msg+0x60e/0x790 net/netlink/genetlink.c:1210
     netlink_rcv_skb+0x208/0x470 net/netlink/af_netlink.c:2550
     genl_rcv+0x28/0x40 net/netlink/genetlink.c:1219
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
     ____sys_sendmsg+0x505/0x870 net/socket.c:2634
     ___sys_sendmsg+0x21f/0x2a0 net/socket.c:2688
Call trace for bond0[58] -3 at
     __dev_put include/linux/netdevice.h:4373 [inline]
     netdev_put include/linux/netdevice.h:4440 [inline]
     neigh_destroy+0x35c/0x5d0 net/core/neighbour.c:941
     neigh_periodic_work+0xb4f/0xe50 net/core/neighbour.c:1030
     process_one_work+0x93a/0x15e0 kernel/workqueue.c:3261
     process_scheduled_works kernel/workqueue.c:3344 [inline]
     worker_thread+0x9b0/0xee0 kernel/workqueue.c:3425
     kthread+0x711/0x8a0 kernel/kthread.c:463
     ret_from_fork+0x599/0xb30 arch/x86/kernel/process.c:158
     ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:246
Call trace for bond0[59] +3 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     ___neigh_create+0xc2d/0x2260 net/core/neighbour.c:665
     ip6_finish_output2+0x1175/0x1480 net/ipv6/ip6_output.c:128
     NF_HOOK_COND include/linux/netfilter.h:307 [inline]
     ip6_output+0x340/0x550 net/ipv6/ip6_output.c:247
     NF_HOOK include/linux/netfilter.h:318 [inline]
     ndisc_send_skb+0xbce/0x1510 net/ipv6/ndisc.c:512
     addrconf_rs_timer+0x369/0x6a0 net/ipv6/addrconf.c:4037
     call_timer_fn+0x16e/0x600 kernel/time/timer.c:1747
     expire_timers kernel/time/timer.c:1798 [inline]
     __run_timers kernel/time/timer.c:2372 [inline]
     __run_timer_base+0x61a/0x860 kernel/time/timer.c:2384
     run_timer_base kernel/time/timer.c:2393 [inline]
     run_timer_softirq+0xb7/0x180 kernel/time/timer.c:2403
     handle_softirqs+0x27d/0x880 kernel/softirq.c:626
Call trace for bond0[60] +2 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     dev_get_by_name+0xdb/0x210 net/core/dev.c:897
     nldev_newlink+0x327/0x5a0 drivers/infiniband/core/nldev.c:1783
     rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:-1 [inline]
     rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline]
     rdma_nl_rcv+0x6ae/0x980 drivers/infiniband/core/netlink.c:259
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[61] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     ib_device_set_netdev+0x265/0x6d0 drivers/infiniband/core/device.c:2253
     siw_device_create drivers/infiniband/sw/siw/siw_main.c:320 [inline]
     siw_newlink+0x400/0xdf0 drivers/infiniband/sw/siw/siw_main.c:426
     nldev_newlink+0x4a5/0x5a0 drivers/infiniband/core/nldev.c:1797
     rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:-1 [inline]
     rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline]
     rdma_nl_rcv+0x6ae/0x980 drivers/infiniband/core/netlink.c:259
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[62] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     ib_device_get_netdev+0x1bb/0x300 drivers/infiniband/core/device.c:2326
     ib_get_eth_speed+0x140/0x7c0 drivers/infiniband/core/verbs.c:1991
     siw_query_port+0x3c/0x4b0 drivers/infiniband/sw/siw/siw_verbs.c:179
     siw_get_port_immutable+0xab/0x1a0 drivers/infiniband/sw/siw/siw_verbs.c:217
     setup_port_data drivers/infiniband/core/device.c:884 [inline]
     setup_device drivers/infiniband/core/device.c:1280 [inline]
     ib_register_device+0xe08/0x1400 drivers/infiniband/core/device.c:1450
     siw_device_register drivers/infiniband/sw/siw/siw_main.c:71 [inline]
     siw_newlink+0x8fe/0xdf0 drivers/infiniband/sw/siw/siw_main.c:430
     nldev_newlink+0x4a5/0x5a0 drivers/infiniband/core/nldev.c:1797
     rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:-1 [inline]
     rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline]
     rdma_nl_rcv+0x6ae/0x980 drivers/infiniband/core/netlink.c:259
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[63] -1 at
     __dev_put include/linux/netdevice.h:4373 [inline]
     netdev_put include/linux/netdevice.h:4440 [inline]
     dev_put include/linux/netdevice.h:4465 [inline]
     ib_get_eth_speed+0x182/0x7c0 drivers/infiniband/core/verbs.c:1999
     siw_query_port+0x3c/0x4b0 drivers/infiniband/sw/siw/siw_verbs.c:179
     siw_get_port_immutable+0xab/0x1a0 drivers/infiniband/sw/siw/siw_verbs.c:217
     setup_port_data drivers/infiniband/core/device.c:884 [inline]
     setup_device drivers/infiniband/core/device.c:1280 [inline]
     ib_register_device+0xe08/0x1400 drivers/infiniband/core/device.c:1450
     siw_device_register drivers/infiniband/sw/siw/siw_main.c:71 [inline]
     siw_newlink+0x8fe/0xdf0 drivers/infiniband/sw/siw/siw_main.c:430
     nldev_newlink+0x4a5/0x5a0 drivers/infiniband/core/nldev.c:1797
     rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:-1 [inline]
     rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline]
     rdma_nl_rcv+0x6ae/0x980 drivers/infiniband/core/netlink.c:259
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[64] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     ib_device_get_netdev+0x1bb/0x300 drivers/infiniband/core/device.c:2326
     siw_query_port+0x64/0x4b0 drivers/infiniband/sw/siw/siw_verbs.c:184
     siw_get_port_immutable+0xab/0x1a0 drivers/infiniband/sw/siw/siw_verbs.c:217
     setup_port_data drivers/infiniband/core/device.c:884 [inline]
     setup_device drivers/infiniband/core/device.c:1280 [inline]
     ib_register_device+0xe08/0x1400 drivers/infiniband/core/device.c:1450
     siw_device_register drivers/infiniband/sw/siw/siw_main.c:71 [inline]
     siw_newlink+0x8fe/0xdf0 drivers/infiniband/sw/siw/siw_main.c:430
     nldev_newlink+0x4a5/0x5a0 drivers/infiniband/core/nldev.c:1797
     rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:-1 [inline]
     rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline]
     rdma_nl_rcv+0x6ae/0x980 drivers/infiniband/core/netlink.c:259
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[65] -1 at
     __dev_put include/linux/netdevice.h:4373 [inline]
     netdev_put include/linux/netdevice.h:4440 [inline]
     dev_put include/linux/netdevice.h:4465 [inline]
     siw_query_port+0x345/0x4b0 drivers/infiniband/sw/siw/siw_verbs.c:209
     siw_get_port_immutable+0xab/0x1a0 drivers/infiniband/sw/siw/siw_verbs.c:217
     setup_port_data drivers/infiniband/core/device.c:884 [inline]
     setup_device drivers/infiniband/core/device.c:1280 [inline]
     ib_register_device+0xe08/0x1400 drivers/infiniband/core/device.c:1450
     siw_device_register drivers/infiniband/sw/siw/siw_main.c:71 [inline]
     siw_newlink+0x8fe/0xdf0 drivers/infiniband/sw/siw/siw_main.c:430
     nldev_newlink+0x4a5/0x5a0 drivers/infiniband/core/nldev.c:1797
     rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:-1 [inline]
     rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline]
     rdma_nl_rcv+0x6ae/0x980 drivers/infiniband/core/netlink.c:259
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[66] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     ib_device_get_netdev+0x1bb/0x300 drivers/infiniband/core/device.c:2326
     iw_query_port drivers/infiniband/core/device.c:2110 [inline]
     ib_query_port+0x199/0x840 drivers/infiniband/core/device.c:2178
     ib_cache_update+0x1b6/0xc40 drivers/infiniband/core/cache.c:1459
     ib_cache_setup_one+0x4bf/0x5e0 drivers/infiniband/core/cache.c:1613
     ib_register_device+0xfbe/0x1400 drivers/infiniband/core/device.c:1454
     siw_device_register drivers/infiniband/sw/siw/siw_main.c:71 [inline]
     siw_newlink+0x8fe/0xdf0 drivers/infiniband/sw/siw/siw_main.c:430
     nldev_newlink+0x4a5/0x5a0 drivers/infiniband/core/nldev.c:1797
     rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:-1 [inline]
     rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline]
     rdma_nl_rcv+0x6ae/0x980 drivers/infiniband/core/netlink.c:259
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[67] -1 at
     __dev_put include/linux/netdevice.h:4373 [inline]
     netdev_put include/linux/netdevice.h:4440 [inline]
     dev_put include/linux/netdevice.h:4465 [inline]
     iw_query_port drivers/infiniband/core/device.c:2136 [inline]
     ib_query_port+0x653/0x840 drivers/infiniband/core/device.c:2178
     ib_cache_update+0x1b6/0xc40 drivers/infiniband/core/cache.c:1459
     ib_cache_setup_one+0x4bf/0x5e0 drivers/infiniband/core/cache.c:1613
     ib_register_device+0xfbe/0x1400 drivers/infiniband/core/device.c:1454
     siw_device_register drivers/infiniband/sw/siw/siw_main.c:71 [inline]
     siw_newlink+0x8fe/0xdf0 drivers/infiniband/sw/siw/siw_main.c:430
     nldev_newlink+0x4a5/0x5a0 drivers/infiniband/core/nldev.c:1797
     rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:-1 [inline]
     rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline]
     rdma_nl_rcv+0x6ae/0x980 drivers/infiniband/core/netlink.c:259
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[68] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     ib_device_get_netdev+0x1bb/0x300 drivers/infiniband/core/device.c:2326
     ib_get_eth_speed+0x140/0x7c0 drivers/infiniband/core/verbs.c:1991
     siw_query_port+0x3c/0x4b0 drivers/infiniband/sw/siw/siw_verbs.c:179
     ib_cache_update+0x1b6/0xc40 drivers/infiniband/core/cache.c:1459
     ib_cache_setup_one+0x4bf/0x5e0 drivers/infiniband/core/cache.c:1613
     ib_register_device+0xfbe/0x1400 drivers/infiniband/core/device.c:1454
     siw_device_register drivers/infiniband/sw/siw/siw_main.c:71 [inline]
     siw_newlink+0x8fe/0xdf0 drivers/infiniband/sw/siw/siw_main.c:430
     nldev_newlink+0x4a5/0x5a0 drivers/infiniband/core/nldev.c:1797
     rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:-1 [inline]
     rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline]
     rdma_nl_rcv+0x6ae/0x980 drivers/infiniband/core/netlink.c:259
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[69] -1 at
     __dev_put include/linux/netdevice.h:4373 [inline]
     netdev_put include/linux/netdevice.h:4440 [inline]
     dev_put include/linux/netdevice.h:4465 [inline]
     ib_get_eth_speed+0x182/0x7c0 drivers/infiniband/core/verbs.c:1999
     siw_query_port+0x3c/0x4b0 drivers/infiniband/sw/siw/siw_verbs.c:179
     ib_cache_update+0x1b6/0xc40 drivers/infiniband/core/cache.c:1459
     ib_cache_setup_one+0x4bf/0x5e0 drivers/infiniband/core/cache.c:1613
     ib_register_device+0xfbe/0x1400 drivers/infiniband/core/device.c:1454
     siw_device_register drivers/infiniband/sw/siw/siw_main.c:71 [inline]
     siw_newlink+0x8fe/0xdf0 drivers/infiniband/sw/siw/siw_main.c:430
     nldev_newlink+0x4a5/0x5a0 drivers/infiniband/core/nldev.c:1797
     rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:-1 [inline]
     rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline]
     rdma_nl_rcv+0x6ae/0x980 drivers/infiniband/core/netlink.c:259
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[70] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     ib_device_get_netdev+0x1bb/0x300 drivers/infiniband/core/device.c:2326
     siw_query_port+0x64/0x4b0 drivers/infiniband/sw/siw/siw_verbs.c:184
     ib_cache_update+0x1b6/0xc40 drivers/infiniband/core/cache.c:1459
     ib_cache_setup_one+0x4bf/0x5e0 drivers/infiniband/core/cache.c:1613
     ib_register_device+0xfbe/0x1400 drivers/infiniband/core/device.c:1454
     siw_device_register drivers/infiniband/sw/siw/siw_main.c:71 [inline]
     siw_newlink+0x8fe/0xdf0 drivers/infiniband/sw/siw/siw_main.c:430
     nldev_newlink+0x4a5/0x5a0 drivers/infiniband/core/nldev.c:1797
     rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:-1 [inline]
     rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline]
     rdma_nl_rcv+0x6ae/0x980 drivers/infiniband/core/netlink.c:259
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[71] -1 at
     __dev_put include/linux/netdevice.h:4373 [inline]
     netdev_put include/linux/netdevice.h:4440 [inline]
     dev_put include/linux/netdevice.h:4465 [inline]
     siw_query_port+0x345/0x4b0 drivers/infiniband/sw/siw/siw_verbs.c:209
     ib_cache_update+0x1b6/0xc40 drivers/infiniband/core/cache.c:1459
     ib_cache_setup_one+0x4bf/0x5e0 drivers/infiniband/core/cache.c:1613
     ib_register_device+0xfbe/0x1400 drivers/infiniband/core/device.c:1454
     siw_device_register drivers/infiniband/sw/siw/siw_main.c:71 [inline]
     siw_newlink+0x8fe/0xdf0 drivers/infiniband/sw/siw/siw_main.c:430
     nldev_newlink+0x4a5/0x5a0 drivers/infiniband/core/nldev.c:1797
     rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:-1 [inline]
     rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline]
     rdma_nl_rcv+0x6ae/0x980 drivers/infiniband/core/netlink.c:259
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[72] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     ib_device_get_netdev+0x1bb/0x300 drivers/infiniband/core/device.c:2326
     config_non_roce_gid_cache drivers/infiniband/core/cache.c:1425 [inline]
     ib_cache_update+0x3ee/0xc40 drivers/infiniband/core/cache.c:1466
     ib_cache_setup_one+0x4bf/0x5e0 drivers/infiniband/core/cache.c:1613
     ib_register_device+0xfbe/0x1400 drivers/infiniband/core/device.c:1454
     siw_device_register drivers/infiniband/sw/siw/siw_main.c:71 [inline]
     siw_newlink+0x8fe/0xdf0 drivers/infiniband/sw/siw/siw_main.c:430
     nldev_newlink+0x4a5/0x5a0 drivers/infiniband/core/nldev.c:1797
     rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:-1 [inline]
     rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline]
     rdma_nl_rcv+0x6ae/0x980 drivers/infiniband/core/netlink.c:259
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[73] -1 at
     __dev_put include/linux/netdevice.h:4373 [inline]
     netdev_put include/linux/netdevice.h:4440 [inline]
     dev_put include/linux/netdevice.h:4465 [inline]
     config_non_roce_gid_cache drivers/infiniband/core/cache.c:1429 [inline]
     ib_cache_update+0x420/0xc40 drivers/infiniband/core/cache.c:1466
     ib_cache_setup_one+0x4bf/0x5e0 drivers/infiniband/core/cache.c:1613
     ib_register_device+0xfbe/0x1400 drivers/infiniband/core/device.c:1454
     siw_device_register drivers/infiniband/sw/siw/siw_main.c:71 [inline]
     siw_newlink+0x8fe/0xdf0 drivers/infiniband/sw/siw/siw_main.c:430
     nldev_newlink+0x4a5/0x5a0 drivers/infiniband/core/nldev.c:1797
     rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:-1 [inline]
     rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline]
     rdma_nl_rcv+0x6ae/0x980 drivers/infiniband/core/netlink.c:259
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[74] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     alloc_gid_entry drivers/infiniband/core/cache.c:311 [inline]
     add_modify_gid+0x22a/0xc20 drivers/infiniband/core/cache.c:447
     config_non_roce_gid_cache drivers/infiniband/core/cache.c:1435 [inline]
     ib_cache_update+0x4ab/0xc40 drivers/infiniband/core/cache.c:1466
     ib_cache_setup_one+0x4bf/0x5e0 drivers/infiniband/core/cache.c:1613
     ib_register_device+0xfbe/0x1400 drivers/infiniband/core/device.c:1454
     siw_device_register drivers/infiniband/sw/siw/siw_main.c:71 [inline]
     siw_newlink+0x8fe/0xdf0 drivers/infiniband/sw/siw/siw_main.c:430
     nldev_newlink+0x4a5/0x5a0 drivers/infiniband/core/nldev.c:1797
     rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:-1 [inline]
     rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline]
     rdma_nl_rcv+0x6ae/0x980 drivers/infiniband/core/netlink.c:259
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[75] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     ib_device_get_netdev+0x1bb/0x300 drivers/infiniband/core/device.c:2326
     iw_query_port drivers/infiniband/core/device.c:2110 [inline]
     ib_query_port+0x199/0x840 drivers/infiniband/core/device.c:2178
     ib_setup_port_attrs+0x24e/0x2070 drivers/infiniband/core/sysfs.c:1429
     ib_register_device+0x1101/0x1400 drivers/infiniband/core/device.c:1480
     siw_device_register drivers/infiniband/sw/siw/siw_main.c:71 [inline]
     siw_newlink+0x8fe/0xdf0 drivers/infiniband/sw/siw/siw_main.c:430
     nldev_newlink+0x4a5/0x5a0 drivers/infiniband/core/nldev.c:1797
     rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:-1 [inline]
     rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline]
     rdma_nl_rcv+0x6ae/0x980 drivers/infiniband/core/netlink.c:259
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[76] -1 at
     __dev_put include/linux/netdevice.h:4373 [inline]
     netdev_put include/linux/netdevice.h:4440 [inline]
     dev_put include/linux/netdevice.h:4465 [inline]
     iw_query_port drivers/infiniband/core/device.c:2136 [inline]
     ib_query_port+0x653/0x840 drivers/infiniband/core/device.c:2178
     ib_setup_port_attrs+0x24e/0x2070 drivers/infiniband/core/sysfs.c:1429
     ib_register_device+0x1101/0x1400 drivers/infiniband/core/device.c:1480
     siw_device_register drivers/infiniband/sw/siw/siw_main.c:71 [inline]
     siw_newlink+0x8fe/0xdf0 drivers/infiniband/sw/siw/siw_main.c:430
     nldev_newlink+0x4a5/0x5a0 drivers/infiniband/core/nldev.c:1797
     rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:-1 [inline]
     rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline]
     rdma_nl_rcv+0x6ae/0x980 drivers/infiniband/core/netlink.c:259
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[77] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     ib_device_get_netdev+0x1bb/0x300 drivers/infiniband/core/device.c:2326
     ib_get_eth_speed+0x140/0x7c0 drivers/infiniband/core/verbs.c:1991
     siw_query_port+0x3c/0x4b0 drivers/infiniband/sw/siw/siw_verbs.c:179
     ib_setup_port_attrs+0x24e/0x2070 drivers/infiniband/core/sysfs.c:1429
     ib_register_device+0x1101/0x1400 drivers/infiniband/core/device.c:1480
     siw_device_register drivers/infiniband/sw/siw/siw_main.c:71 [inline]
     siw_newlink+0x8fe/0xdf0 drivers/infiniband/sw/siw/siw_main.c:430
     nldev_newlink+0x4a5/0x5a0 drivers/infiniband/core/nldev.c:1797
     rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:-1 [inline]
     rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline]
     rdma_nl_rcv+0x6ae/0x980 drivers/infiniband/core/netlink.c:259
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[78] -1 at
     __dev_put include/linux/netdevice.h:4373 [inline]
     netdev_put include/linux/netdevice.h:4440 [inline]
     dev_put include/linux/netdevice.h:4465 [inline]
     ib_get_eth_speed+0x182/0x7c0 drivers/infiniband/core/verbs.c:1999
     siw_query_port+0x3c/0x4b0 drivers/infiniband/sw/siw/siw_verbs.c:179
     ib_setup_port_attrs+0x24e/0x2070 drivers/infiniband/core/sysfs.c:1429
     ib_register_device+0x1101/0x1400 drivers/infiniband/core/device.c:1480
     siw_device_register drivers/infiniband/sw/siw/siw_main.c:71 [inline]
     siw_newlink+0x8fe/0xdf0 drivers/infiniband/sw/siw/siw_main.c:430
     nldev_newlink+0x4a5/0x5a0 drivers/infiniband/core/nldev.c:1797
     rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:-1 [inline]
     rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline]
     rdma_nl_rcv+0x6ae/0x980 drivers/infiniband/core/netlink.c:259
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[79] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     ib_device_get_netdev+0x1bb/0x300 drivers/infiniband/core/device.c:2326
     siw_query_port+0x64/0x4b0 drivers/infiniband/sw/siw/siw_verbs.c:184
     ib_setup_port_attrs+0x24e/0x2070 drivers/infiniband/core/sysfs.c:1429
     ib_register_device+0x1101/0x1400 drivers/infiniband/core/device.c:1480
     siw_device_register drivers/infiniband/sw/siw/siw_main.c:71 [inline]
     siw_newlink+0x8fe/0xdf0 drivers/infiniband/sw/siw/siw_main.c:430
     nldev_newlink+0x4a5/0x5a0 drivers/infiniband/core/nldev.c:1797
     rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:-1 [inline]
     rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline]
     rdma_nl_rcv+0x6ae/0x980 drivers/infiniband/core/netlink.c:259
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[80] -1 at
     __dev_put include/linux/netdevice.h:4373 [inline]
     netdev_put include/linux/netdevice.h:4440 [inline]
     dev_put include/linux/netdevice.h:4465 [inline]
     siw_query_port+0x345/0x4b0 drivers/infiniband/sw/siw/siw_verbs.c:209
     ib_setup_port_attrs+0x24e/0x2070 drivers/infiniband/core/sysfs.c:1429
     ib_register_device+0x1101/0x1400 drivers/infiniband/core/device.c:1480
     siw_device_register drivers/infiniband/sw/siw/siw_main.c:71 [inline]
     siw_newlink+0x8fe/0xdf0 drivers/infiniband/sw/siw/siw_main.c:430
     nldev_newlink+0x4a5/0x5a0 drivers/infiniband/core/nldev.c:1797
     rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:-1 [inline]
     rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline]
     rdma_nl_rcv+0x6ae/0x980 drivers/infiniband/core/netlink.c:259
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[81] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     ib_device_get_netdev+0x1bb/0x300 drivers/infiniband/core/device.c:2326
     siw_create_listen+0x2c8/0x1100 drivers/infiniband/sw/siw/siw_cm.c:1784
     iw_cm_listen+0x166/0x230 drivers/infiniband/core/iwcm.c:586
     cma_iw_listen drivers/infiniband/core/cma.c:2688 [inline]
     rdma_listen+0x8f0/0xd30 drivers/infiniband/core/cma.c:3978
     cma_listen_on_dev+0x3f5/0x720 drivers/infiniband/core/cma.c:2747
     cma_add_one+0x647/0xa50 drivers/infiniband/core/cma.c:5384
     add_client_context+0x36a/0x790 drivers/infiniband/core/device.c:757
     enable_device_and_get+0x19b/0x3d0 drivers/infiniband/core/device.c:1368
     ib_register_device+0x111e/0x1400 drivers/infiniband/core/device.c:1487
     siw_device_register drivers/infiniband/sw/siw/siw_main.c:71 [inline]
     siw_newlink+0x8fe/0xdf0 drivers/infiniband/sw/siw/siw_main.c:430
     nldev_newlink+0x4a5/0x5a0 drivers/infiniband/core/nldev.c:1797
     rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:-1 [inline]
     rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline]
     rdma_nl_rcv+0x6ae/0x980 drivers/infiniband/core/netlink.c:259
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[82] -1 at
     __dev_put include/linux/netdevice.h:4373 [inline]
     netdev_put include/linux/netdevice.h:4440 [inline]
     dev_put+0x2c/0x90 include/linux/netdevice.h:4465
     siw_create_listen+0xba4/0x1100 drivers/infiniband/sw/siw/siw_cm.c:1876
     iw_cm_listen+0x166/0x230 drivers/infiniband/core/iwcm.c:586
     cma_iw_listen drivers/infiniband/core/cma.c:2688 [inline]
     rdma_listen+0x8f0/0xd30 drivers/infiniband/core/cma.c:3978
     cma_listen_on_dev+0x3f5/0x720 drivers/infiniband/core/cma.c:2747
     cma_add_one+0x647/0xa50 drivers/infiniband/core/cma.c:5384
     add_client_context+0x36a/0x790 drivers/infiniband/core/device.c:757
     enable_device_and_get+0x19b/0x3d0 drivers/infiniband/core/device.c:1368
     ib_register_device+0x111e/0x1400 drivers/infiniband/core/device.c:1487
     siw_device_register drivers/infiniband/sw/siw/siw_main.c:71 [inline]
     siw_newlink+0x8fe/0xdf0 drivers/infiniband/sw/siw/siw_main.c:430
     nldev_newlink+0x4a5/0x5a0 drivers/infiniband/core/nldev.c:1797
     rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:-1 [inline]
     rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline]
     rdma_nl_rcv+0x6ae/0x980 drivers/infiniband/core/netlink.c:259
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[83] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     ib_device_get_netdev+0x1bb/0x300 drivers/infiniband/core/device.c:2326
     siw_create_listen+0x3ab/0x1100 drivers/infiniband/sw/siw/siw_cm.c:1808
     iw_cm_listen+0x166/0x230 drivers/infiniband/core/iwcm.c:586
     cma_iw_listen drivers/infiniband/core/cma.c:2688 [inline]
     rdma_listen+0x8f0/0xd30 drivers/infiniband/core/cma.c:3978
     cma_listen_on_dev+0x3f5/0x720 drivers/infiniband/core/cma.c:2747
     cma_add_one+0x647/0xa50 drivers/infiniband/core/cma.c:5384
     add_client_context+0x36a/0x790 drivers/infiniband/core/device.c:757
     enable_device_and_get+0x19b/0x3d0 drivers/infiniband/core/device.c:1368
     ib_register_device+0x111e/0x1400 drivers/infiniband/core/device.c:1487
     siw_device_register drivers/infiniband/sw/siw/siw_main.c:71 [inline]
     siw_newlink+0x8fe/0xdf0 drivers/infiniband/sw/siw/siw_main.c:430
     nldev_newlink+0x4a5/0x5a0 drivers/infiniband/core/nldev.c:1797
     rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:-1 [inline]
     rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline]
     rdma_nl_rcv+0x6ae/0x980 drivers/infiniband/core/netlink.c:259
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[84] -1 at
     __dev_put include/linux/netdevice.h:4373 [inline]
     netdev_put include/linux/netdevice.h:4440 [inline]
     dev_put include/linux/netdevice.h:4465 [inline]
     siw_create_listen+0xd94/0x1100 drivers/infiniband/sw/siw/siw_cm.c:1896
     iw_cm_listen+0x166/0x230 drivers/infiniband/core/iwcm.c:586
     cma_iw_listen drivers/infiniband/core/cma.c:2688 [inline]
     rdma_listen+0x8f0/0xd30 drivers/infiniband/core/cma.c:3978
     cma_listen_on_dev+0x3f5/0x720 drivers/infiniband/core/cma.c:2747
     cma_add_one+0x647/0xa50 drivers/infiniband/core/cma.c:5384
     add_client_context+0x36a/0x790 drivers/infiniband/core/device.c:757
     enable_device_and_get+0x19b/0x3d0 drivers/infiniband/core/device.c:1368
     ib_register_device+0x111e/0x1400 drivers/infiniband/core/device.c:1487
     siw_device_register drivers/infiniband/sw/siw/siw_main.c:71 [inline]
     siw_newlink+0x8fe/0xdf0 drivers/infiniband/sw/siw/siw_main.c:430
     nldev_newlink+0x4a5/0x5a0 drivers/infiniband/core/nldev.c:1797
     rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:-1 [inline]
     rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline]
     rdma_nl_rcv+0x6ae/0x980 drivers/infiniband/core/netlink.c:259
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[85] +4 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     ib_device_get_netdev+0x1bb/0x300 drivers/infiniband/core/device.c:2326
     iw_query_port drivers/infiniband/core/device.c:2110 [inline]
     ib_query_port+0x199/0x840 drivers/infiniband/core/device.c:2178
     ib_setup_port_attrs+0x24e/0x2070 drivers/infiniband/core/sysfs.c:1429
     add_one_compat_dev+0x449/0x650 drivers/infiniband/core/device.c:1005
     add_compat_devs drivers/infiniband/core/device.c:1063 [inline]
     enable_device_and_get+0x2a7/0x3d0 drivers/infiniband/core/device.c:1374
     ib_register_device+0x111e/0x1400 drivers/infiniband/core/device.c:1487
     siw_device_register drivers/infiniband/sw/siw/siw_main.c:71 [inline]
     siw_newlink+0x8fe/0xdf0 drivers/infiniband/sw/siw/siw_main.c:430
     nldev_newlink+0x4a5/0x5a0 drivers/infiniband/core/nldev.c:1797
     rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:-1 [inline]
     rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline]
     rdma_nl_rcv+0x6ae/0x980 drivers/infiniband/core/netlink.c:259
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[86] -4 at
     __dev_put include/linux/netdevice.h:4373 [inline]
     netdev_put include/linux/netdevice.h:4440 [inline]
     dev_put include/linux/netdevice.h:4465 [inline]
     iw_query_port drivers/infiniband/core/device.c:2136 [inline]
     ib_query_port+0x653/0x840 drivers/infiniband/core/device.c:2178
     ib_setup_port_attrs+0x24e/0x2070 drivers/infiniband/core/sysfs.c:1429
     add_one_compat_dev+0x449/0x650 drivers/infiniband/core/device.c:1005
     add_compat_devs drivers/infiniband/core/device.c:1063 [inline]
     enable_device_and_get+0x2a7/0x3d0 drivers/infiniband/core/device.c:1374
     ib_register_device+0x111e/0x1400 drivers/infiniband/core/device.c:1487
     siw_device_register drivers/infiniband/sw/siw/siw_main.c:71 [inline]
     siw_newlink+0x8fe/0xdf0 drivers/infiniband/sw/siw/siw_main.c:430
     nldev_newlink+0x4a5/0x5a0 drivers/infiniband/core/nldev.c:1797
     rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:-1 [inline]
     rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline]
     rdma_nl_rcv+0x6ae/0x980 drivers/infiniband/core/netlink.c:259
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[87] +4 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     ib_device_get_netdev+0x1bb/0x300 drivers/infiniband/core/device.c:2326
     ib_get_eth_speed+0x140/0x7c0 drivers/infiniband/core/verbs.c:1991
     siw_query_port+0x3c/0x4b0 drivers/infiniband/sw/siw/siw_verbs.c:179
     ib_setup_port_attrs+0x24e/0x2070 drivers/infiniband/core/sysfs.c:1429
     add_one_compat_dev+0x449/0x650 drivers/infiniband/core/device.c:1005
     add_compat_devs drivers/infiniband/core/device.c:1063 [inline]
     enable_device_and_get+0x2a7/0x3d0 drivers/infiniband/core/device.c:1374
     ib_register_device+0x111e/0x1400 drivers/infiniband/core/device.c:1487
     siw_device_register drivers/infiniband/sw/siw/siw_main.c:71 [inline]
     siw_newlink+0x8fe/0xdf0 drivers/infiniband/sw/siw/siw_main.c:430
     nldev_newlink+0x4a5/0x5a0 drivers/infiniband/core/nldev.c:1797
     rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:-1 [inline]
     rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline]
     rdma_nl_rcv+0x6ae/0x980 drivers/infiniband/core/netlink.c:259
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[88] -4 at
     __dev_put include/linux/netdevice.h:4373 [inline]
     netdev_put include/linux/netdevice.h:4440 [inline]
     dev_put include/linux/netdevice.h:4465 [inline]
     ib_get_eth_speed+0x182/0x7c0 drivers/infiniband/core/verbs.c:1999
     siw_query_port+0x3c/0x4b0 drivers/infiniband/sw/siw/siw_verbs.c:179
     ib_setup_port_attrs+0x24e/0x2070 drivers/infiniband/core/sysfs.c:1429
     add_one_compat_dev+0x449/0x650 drivers/infiniband/core/device.c:1005
     add_compat_devs drivers/infiniband/core/device.c:1063 [inline]
     enable_device_and_get+0x2a7/0x3d0 drivers/infiniband/core/device.c:1374
     ib_register_device+0x111e/0x1400 drivers/infiniband/core/device.c:1487
     siw_device_register drivers/infiniband/sw/siw/siw_main.c:71 [inline]
     siw_newlink+0x8fe/0xdf0 drivers/infiniband/sw/siw/siw_main.c:430
     nldev_newlink+0x4a5/0x5a0 drivers/infiniband/core/nldev.c:1797
     rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:-1 [inline]
     rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline]
     rdma_nl_rcv+0x6ae/0x980 drivers/infiniband/core/netlink.c:259
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[89] +4 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     ib_device_get_netdev+0x1bb/0x300 drivers/infiniband/core/device.c:2326
     siw_query_port+0x64/0x4b0 drivers/infiniband/sw/siw/siw_verbs.c:184
     ib_setup_port_attrs+0x24e/0x2070 drivers/infiniband/core/sysfs.c:1429
     add_one_compat_dev+0x449/0x650 drivers/infiniband/core/device.c:1005
     add_compat_devs drivers/infiniband/core/device.c:1063 [inline]
     enable_device_and_get+0x2a7/0x3d0 drivers/infiniband/core/device.c:1374
     ib_register_device+0x111e/0x1400 drivers/infiniband/core/device.c:1487
     siw_device_register drivers/infiniband/sw/siw/siw_main.c:71 [inline]
     siw_newlink+0x8fe/0xdf0 drivers/infiniband/sw/siw/siw_main.c:430
     nldev_newlink+0x4a5/0x5a0 drivers/infiniband/core/nldev.c:1797
     rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:-1 [inline]
     rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline]
     rdma_nl_rcv+0x6ae/0x980 drivers/infiniband/core/netlink.c:259
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[90] -4 at
     __dev_put include/linux/netdevice.h:4373 [inline]
     netdev_put include/linux/netdevice.h:4440 [inline]
     dev_put include/linux/netdevice.h:4465 [inline]
     siw_query_port+0x345/0x4b0 drivers/infiniband/sw/siw/siw_verbs.c:209
     ib_setup_port_attrs+0x24e/0x2070 drivers/infiniband/core/sysfs.c:1429
     add_one_compat_dev+0x449/0x650 drivers/infiniband/core/device.c:1005
     add_compat_devs drivers/infiniband/core/device.c:1063 [inline]
     enable_device_and_get+0x2a7/0x3d0 drivers/infiniband/core/device.c:1374
     ib_register_device+0x111e/0x1400 drivers/infiniband/core/device.c:1487
     siw_device_register drivers/infiniband/sw/siw/siw_main.c:71 [inline]
     siw_newlink+0x8fe/0xdf0 drivers/infiniband/sw/siw/siw_main.c:430
     nldev_newlink+0x4a5/0x5a0 drivers/infiniband/core/nldev.c:1797
     rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:-1 [inline]
     rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline]
     rdma_nl_rcv+0x6ae/0x980 drivers/infiniband/core/netlink.c:259
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[91] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     ib_device_get_netdev+0x1bb/0x300 drivers/infiniband/core/device.c:2326
     ib_device_notify_register+0x121/0x250 drivers/infiniband/core/device.c:1400
     ib_register_device+0x125e/0x1400 drivers/infiniband/core/device.c:1512
     siw_device_register drivers/infiniband/sw/siw/siw_main.c:71 [inline]
     siw_newlink+0x8fe/0xdf0 drivers/infiniband/sw/siw/siw_main.c:430
     nldev_newlink+0x4a5/0x5a0 drivers/infiniband/core/nldev.c:1797
     rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:-1 [inline]
     rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline]
     rdma_nl_rcv+0x6ae/0x980 drivers/infiniband/core/netlink.c:259
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[92] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     ib_device_get_netdev+0x1bb/0x300 drivers/infiniband/core/device.c:2326
     fill_mon_netdev_association drivers/infiniband/core/nldev.c:2771 [inline]
     rdma_nl_notify_event+0x538/0xe70 drivers/infiniband/core/nldev.c:2879
     ib_device_notify_register+0x13e/0x250 drivers/infiniband/core/device.c:1404
     ib_register_device+0x125e/0x1400 drivers/infiniband/core/device.c:1512
     siw_device_register drivers/infiniband/sw/siw/siw_main.c:71 [inline]
     siw_newlink+0x8fe/0xdf0 drivers/infiniband/sw/siw/siw_main.c:430
     nldev_newlink+0x4a5/0x5a0 drivers/infiniband/core/nldev.c:1797
     rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:-1 [inline]
     rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline]
     rdma_nl_rcv+0x6ae/0x980 drivers/infiniband/core/netlink.c:259
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[93] -1 at
     __dev_put include/linux/netdevice.h:4373 [inline]
     netdev_put include/linux/netdevice.h:4440 [inline]
     dev_put include/linux/netdevice.h:4465 [inline]
     fill_mon_netdev_association drivers/infiniband/core/nldev.c:2801 [inline]
     rdma_nl_notify_event+0xac8/0xe70 drivers/infiniband/core/nldev.c:2879
     ib_device_notify_register+0x13e/0x250 drivers/infiniband/core/device.c:1404
     ib_register_device+0x125e/0x1400 drivers/infiniband/core/device.c:1512
     siw_device_register drivers/infiniband/sw/siw/siw_main.c:71 [inline]
     siw_newlink+0x8fe/0xdf0 drivers/infiniband/sw/siw/siw_main.c:430
     nldev_newlink+0x4a5/0x5a0 drivers/infiniband/core/nldev.c:1797
     rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:-1 [inline]
     rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline]
     rdma_nl_rcv+0x6ae/0x980 drivers/infiniband/core/netlink.c:259
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[94] -1 at
     __dev_put include/linux/netdevice.h:4373 [inline]
     netdev_put include/linux/netdevice.h:4440 [inline]
     dev_put include/linux/netdevice.h:4465 [inline]
     ib_device_notify_register+0x15c/0x250 drivers/infiniband/core/device.c:1406
     ib_register_device+0x125e/0x1400 drivers/infiniband/core/device.c:1512
     siw_device_register drivers/infiniband/sw/siw/siw_main.c:71 [inline]
     siw_newlink+0x8fe/0xdf0 drivers/infiniband/sw/siw/siw_main.c:430
     nldev_newlink+0x4a5/0x5a0 drivers/infiniband/core/nldev.c:1797
     rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:-1 [inline]
     rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline]
     rdma_nl_rcv+0x6ae/0x980 drivers/infiniband/core/netlink.c:259
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[95] -2 at
     __dev_put include/linux/netdevice.h:4373 [inline]
     netdev_put include/linux/netdevice.h:4440 [inline]
     dev_put+0x2c/0x90 include/linux/netdevice.h:4465
     nldev_newlink+0x4cc/0x5a0 drivers/infiniband/core/nldev.c:1799
     rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:-1 [inline]
     rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline]
     rdma_nl_rcv+0x6ae/0x980 drivers/infiniband/core/netlink.c:259
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec net/socket.c:727 [inline]
     __sock_sendmsg+0x21c/0x270 net/socket.c:746
Call trace for bond0[96] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     ib_device_get_netdev+0x1bb/0x300 drivers/infiniband/core/device.c:2326
     iw_query_port drivers/infiniband/core/device.c:2110 [inline]
     ib_query_port+0x199/0x840 drivers/infiniband/core/device.c:2178
     ib_setup_port_attrs+0x24e/0x2070 drivers/infiniband/core/sysfs.c:1429
     add_one_compat_dev+0x449/0x650 drivers/infiniband/core/device.c:1005
     rdma_dev_init_net+0x238/0x2f0 drivers/infiniband/core/device.c:1221
     ops_init+0x35c/0x5c0 net/core/net_namespace.c:137
     setup_net+0x110/0x330 net/core/net_namespace.c:446
     copy_net_ns+0x3e3/0x570 net/core/net_namespace.c:581
     create_new_namespaces+0x3e7/0x6a0 kernel/nsproxy.c:130
     copy_namespaces+0x438/0x4b0 kernel/nsproxy.c:195
     copy_process+0x168f/0x3950 kernel/fork.c:2224
     kernel_clone+0x21e/0x850 kernel/fork.c:2651
     __do_sys_clone kernel/fork.c:2792 [inline]
     __se_sys_clone kernel/fork.c:2776 [inline]
     __x64_sys_clone+0x18b/0x1e0 kernel/fork.c:2776
     do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
     do_syscall_64+0xfa/0xfa0 arch/x86/entry/syscall_64.c:94
     entry_SYSCALL_64_after_hwframe+0x77/0x7f
Call trace for bond0[97] -1 at
     __dev_put include/linux/netdevice.h:4373 [inline]
     netdev_put include/linux/netdevice.h:4440 [inline]
     dev_put include/linux/netdevice.h:4465 [inline]
     iw_query_port drivers/infiniband/core/device.c:2136 [inline]
     ib_query_port+0x653/0x840 drivers/infiniband/core/device.c:2178
     ib_setup_port_attrs+0x24e/0x2070 drivers/infiniband/core/sysfs.c:1429
     add_one_compat_dev+0x449/0x650 drivers/infiniband/core/device.c:1005
     rdma_dev_init_net+0x238/0x2f0 drivers/infiniband/core/device.c:1221
     ops_init+0x35c/0x5c0 net/core/net_namespace.c:137
     setup_net+0x110/0x330 net/core/net_namespace.c:446
     copy_net_ns+0x3e3/0x570 net/core/net_namespace.c:581
     create_new_namespaces+0x3e7/0x6a0 kernel/nsproxy.c:130
     copy_namespaces+0x438/0x4b0 kernel/nsproxy.c:195
     copy_process+0x168f/0x3950 kernel/fork.c:2224
     kernel_clone+0x21e/0x850 kernel/fork.c:2651
     __do_sys_clone kernel/fork.c:2792 [inline]
     __se_sys_clone kernel/fork.c:2776 [inline]
     __x64_sys_clone+0x18b/0x1e0 kernel/fork.c:2776
     do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
     do_syscall_64+0xfa/0xfa0 arch/x86/entry/syscall_64.c:94
     entry_SYSCALL_64_after_hwframe+0x77/0x7f
Call trace for bond0[98] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     ib_device_get_netdev+0x1bb/0x300 drivers/infiniband/core/device.c:2326
     ib_get_eth_speed+0x140/0x7c0 drivers/infiniband/core/verbs.c:1991
     siw_query_port+0x3c/0x4b0 drivers/infiniband/sw/siw/siw_verbs.c:179
     ib_setup_port_attrs+0x24e/0x2070 drivers/infiniband/core/sysfs.c:1429
     add_one_compat_dev+0x449/0x650 drivers/infiniband/core/device.c:1005
     rdma_dev_init_net+0x238/0x2f0 drivers/infiniband/core/device.c:1221
     ops_init+0x35c/0x5c0 net/core/net_namespace.c:137
     setup_net+0x110/0x330 net/core/net_namespace.c:446
     copy_net_ns+0x3e3/0x570 net/core/net_namespace.c:581
     create_new_namespaces+0x3e7/0x6a0 kernel/nsproxy.c:130
     copy_namespaces+0x438/0x4b0 kernel/nsproxy.c:195
     copy_process+0x168f/0x3950 kernel/fork.c:2224
     kernel_clone+0x21e/0x850 kernel/fork.c:2651
     __do_sys_clone kernel/fork.c:2792 [inline]
     __se_sys_clone kernel/fork.c:2776 [inline]
     __x64_sys_clone+0x18b/0x1e0 kernel/fork.c:2776
     do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
     do_syscall_64+0xfa/0xfa0 arch/x86/entry/syscall_64.c:94
     entry_SYSCALL_64_after_hwframe+0x77/0x7f
Call trace for bond0[99] -1 at
     __dev_put include/linux/netdevice.h:4373 [inline]
     netdev_put include/linux/netdevice.h:4440 [inline]
     dev_put include/linux/netdevice.h:4465 [inline]
     ib_get_eth_speed+0x182/0x7c0 drivers/infiniband/core/verbs.c:1999
     siw_query_port+0x3c/0x4b0 drivers/infiniband/sw/siw/siw_verbs.c:179
     ib_setup_port_attrs+0x24e/0x2070 drivers/infiniband/core/sysfs.c:1429
     add_one_compat_dev+0x449/0x650 drivers/infiniband/core/device.c:1005
     rdma_dev_init_net+0x238/0x2f0 drivers/infiniband/core/device.c:1221
     ops_init+0x35c/0x5c0 net/core/net_namespace.c:137
     setup_net+0x110/0x330 net/core/net_namespace.c:446
     copy_net_ns+0x3e3/0x570 net/core/net_namespace.c:581
     create_new_namespaces+0x3e7/0x6a0 kernel/nsproxy.c:130
     copy_namespaces+0x438/0x4b0 kernel/nsproxy.c:195
     copy_process+0x168f/0x3950 kernel/fork.c:2224
     kernel_clone+0x21e/0x850 kernel/fork.c:2651
     __do_sys_clone kernel/fork.c:2792 [inline]
     __se_sys_clone kernel/fork.c:2776 [inline]
     __x64_sys_clone+0x18b/0x1e0 kernel/fork.c:2776
     do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
     do_syscall_64+0xfa/0xfa0 arch/x86/entry/syscall_64.c:94
     entry_SYSCALL_64_after_hwframe+0x77/0x7f
Call trace for bond0[100] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     ib_device_get_netdev+0x1bb/0x300 drivers/infiniband/core/device.c:2326
     siw_query_port+0x64/0x4b0 drivers/infiniband/sw/siw/siw_verbs.c:184
     ib_setup_port_attrs+0x24e/0x2070 drivers/infiniband/core/sysfs.c:1429
     add_one_compat_dev+0x449/0x650 drivers/infiniband/core/device.c:1005
     rdma_dev_init_net+0x238/0x2f0 drivers/infiniband/core/device.c:1221
     ops_init+0x35c/0x5c0 net/core/net_namespace.c:137
     setup_net+0x110/0x330 net/core/net_namespace.c:446
     copy_net_ns+0x3e3/0x570 net/core/net_namespace.c:581
     create_new_namespaces+0x3e7/0x6a0 kernel/nsproxy.c:130
     copy_namespaces+0x438/0x4b0 kernel/nsproxy.c:195
     copy_process+0x168f/0x3950 kernel/fork.c:2224
     kernel_clone+0x21e/0x850 kernel/fork.c:2651
     __do_sys_clone kernel/fork.c:2792 [inline]
     __se_sys_clone kernel/fork.c:2776 [inline]
     __x64_sys_clone+0x18b/0x1e0 kernel/fork.c:2776
     do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
     do_syscall_64+0xfa/0xfa0 arch/x86/entry/syscall_64.c:94
     entry_SYSCALL_64_after_hwframe+0x77/0x7f
Call trace for bond0[101] -1 at
     __dev_put include/linux/netdevice.h:4373 [inline]
     netdev_put include/linux/netdevice.h:4440 [inline]
     dev_put include/linux/netdevice.h:4465 [inline]
     siw_query_port+0x345/0x4b0 drivers/infiniband/sw/siw/siw_verbs.c:209
     ib_setup_port_attrs+0x24e/0x2070 drivers/infiniband/core/sysfs.c:1429
     add_one_compat_dev+0x449/0x650 drivers/infiniband/core/device.c:1005
     rdma_dev_init_net+0x238/0x2f0 drivers/infiniband/core/device.c:1221
     ops_init+0x35c/0x5c0 net/core/net_namespace.c:137
     setup_net+0x110/0x330 net/core/net_namespace.c:446
     copy_net_ns+0x3e3/0x570 net/core/net_namespace.c:581
     create_new_namespaces+0x3e7/0x6a0 kernel/nsproxy.c:130
     copy_namespaces+0x438/0x4b0 kernel/nsproxy.c:195
     copy_process+0x168f/0x3950 kernel/fork.c:2224
     kernel_clone+0x21e/0x850 kernel/fork.c:2651
     __do_sys_clone kernel/fork.c:2792 [inline]
     __se_sys_clone kernel/fork.c:2776 [inline]
     __x64_sys_clone+0x18b/0x1e0 kernel/fork.c:2776
     do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
     do_syscall_64+0xfa/0xfa0 arch/x86/entry/syscall_64.c:94
     entry_SYSCALL_64_after_hwframe+0x77/0x7f
Call trace for bond0[102] +9 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     ib_device_get_netdev+0x1bb/0x300 drivers/infiniband/core/device.c:2326
     iw_query_port drivers/infiniband/core/device.c:2110 [inline]
     ib_query_port+0x199/0x840 drivers/infiniband/core/device.c:2178
     ib_setup_port_attrs+0x24e/0x2070 drivers/infiniband/core/sysfs.c:1429
     add_one_compat_dev+0x449/0x650 drivers/infiniband/core/device.c:1005
     rdma_dev_init_net+0x238/0x2f0 drivers/infiniband/core/device.c:1221
     ops_init+0x35c/0x5c0 net/core/net_namespace.c:137
     setup_net+0x110/0x330 net/core/net_namespace.c:446
     copy_net_ns+0x3e3/0x570 net/core/net_namespace.c:581
     create_new_namespaces+0x3e7/0x6a0 kernel/nsproxy.c:130
     unshare_nsproxy_namespaces+0x11c/0x170 kernel/nsproxy.c:226
     ksys_unshare+0x4c8/0x8c0 kernel/fork.c:3171
Call trace for bond0[103] -9 at
     __dev_put include/linux/netdevice.h:4373 [inline]
     netdev_put include/linux/netdevice.h:4440 [inline]
     dev_put include/linux/netdevice.h:4465 [inline]
     iw_query_port drivers/infiniband/core/device.c:2136 [inline]
     ib_query_port+0x653/0x840 drivers/infiniband/core/device.c:2178
     ib_setup_port_attrs+0x24e/0x2070 drivers/infiniband/core/sysfs.c:1429
     add_one_compat_dev+0x449/0x650 drivers/infiniband/core/device.c:1005
     rdma_dev_init_net+0x238/0x2f0 drivers/infiniband/core/device.c:1221
     ops_init+0x35c/0x5c0 net/core/net_namespace.c:137
     setup_net+0x110/0x330 net/core/net_namespace.c:446
     copy_net_ns+0x3e3/0x570 net/core/net_namespace.c:581
     create_new_namespaces+0x3e7/0x6a0 kernel/nsproxy.c:130
     unshare_nsproxy_namespaces+0x11c/0x170 kernel/nsproxy.c:226
     ksys_unshare+0x4c8/0x8c0 kernel/fork.c:3171
Call trace for bond0[104] +9 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     ib_device_get_netdev+0x1bb/0x300 drivers/infiniband/core/device.c:2326
     ib_get_eth_speed+0x140/0x7c0 drivers/infiniband/core/verbs.c:1991
     siw_query_port+0x3c/0x4b0 drivers/infiniband/sw/siw/siw_verbs.c:179
     ib_setup_port_attrs+0x24e/0x2070 drivers/infiniband/core/sysfs.c:1429
     add_one_compat_dev+0x449/0x650 drivers/infiniband/core/device.c:1005
     rdma_dev_init_net+0x238/0x2f0 drivers/infiniband/core/device.c:1221
     ops_init+0x35c/0x5c0 net/core/net_namespace.c:137
     setup_net+0x110/0x330 net/core/net_namespace.c:446
     copy_net_ns+0x3e3/0x570 net/core/net_namespace.c:581
     create_new_namespaces+0x3e7/0x6a0 kernel/nsproxy.c:130
     unshare_nsproxy_namespaces+0x11c/0x170 kernel/nsproxy.c:226
     ksys_unshare+0x4c8/0x8c0 kernel/fork.c:3171
Call trace for bond0[105] -9 at
     __dev_put include/linux/netdevice.h:4373 [inline]
     netdev_put include/linux/netdevice.h:4440 [inline]
     dev_put include/linux/netdevice.h:4465 [inline]
     ib_get_eth_speed+0x182/0x7c0 drivers/infiniband/core/verbs.c:1999
     siw_query_port+0x3c/0x4b0 drivers/infiniband/sw/siw/siw_verbs.c:179
     ib_setup_port_attrs+0x24e/0x2070 drivers/infiniband/core/sysfs.c:1429
     add_one_compat_dev+0x449/0x650 drivers/infiniband/core/device.c:1005
     rdma_dev_init_net+0x238/0x2f0 drivers/infiniband/core/device.c:1221
     ops_init+0x35c/0x5c0 net/core/net_namespace.c:137
     setup_net+0x110/0x330 net/core/net_namespace.c:446
     copy_net_ns+0x3e3/0x570 net/core/net_namespace.c:581
     create_new_namespaces+0x3e7/0x6a0 kernel/nsproxy.c:130
     unshare_nsproxy_namespaces+0x11c/0x170 kernel/nsproxy.c:226
     ksys_unshare+0x4c8/0x8c0 kernel/fork.c:3171
Call trace for bond0[106] +9 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     ib_device_get_netdev+0x1bb/0x300 drivers/infiniband/core/device.c:2326
     siw_query_port+0x64/0x4b0 drivers/infiniband/sw/siw/siw_verbs.c:184
     ib_setup_port_attrs+0x24e/0x2070 drivers/infiniband/core/sysfs.c:1429
     add_one_compat_dev+0x449/0x650 drivers/infiniband/core/device.c:1005
     rdma_dev_init_net+0x238/0x2f0 drivers/infiniband/core/device.c:1221
     ops_init+0x35c/0x5c0 net/core/net_namespace.c:137
     setup_net+0x110/0x330 net/core/net_namespace.c:446
     copy_net_ns+0x3e3/0x570 net/core/net_namespace.c:581
     create_new_namespaces+0x3e7/0x6a0 kernel/nsproxy.c:130
     unshare_nsproxy_namespaces+0x11c/0x170 kernel/nsproxy.c:226
     ksys_unshare+0x4c8/0x8c0 kernel/fork.c:3171
Call trace for bond0[107] -9 at
     __dev_put include/linux/netdevice.h:4373 [inline]
     netdev_put include/linux/netdevice.h:4440 [inline]
     dev_put include/linux/netdevice.h:4465 [inline]
     siw_query_port+0x345/0x4b0 drivers/infiniband/sw/siw/siw_verbs.c:209
     ib_setup_port_attrs+0x24e/0x2070 drivers/infiniband/core/sysfs.c:1429
     add_one_compat_dev+0x449/0x650 drivers/infiniband/core/device.c:1005
     rdma_dev_init_net+0x238/0x2f0 drivers/infiniband/core/device.c:1221
     ops_init+0x35c/0x5c0 net/core/net_namespace.c:137
     setup_net+0x110/0x330 net/core/net_namespace.c:446
     copy_net_ns+0x3e3/0x570 net/core/net_namespace.c:581
     create_new_namespaces+0x3e7/0x6a0 kernel/nsproxy.c:130
     unshare_nsproxy_namespaces+0x11c/0x170 kernel/nsproxy.c:226
     ksys_unshare+0x4c8/0x8c0 kernel/fork.c:3171
Call trace for bond0[108] -1 at
     __dev_put include/linux/netdevice.h:4373 [inline]
     netdev_put include/linux/netdevice.h:4440 [inline]
     __netdev_adjacent_dev_remove+0x38f/0x680 net/core/dev.c:8751
     __netdev_adjacent_dev_unlink_lists net/core/dev.c:8784 [inline]
     __netdev_adjacent_dev_unlink_neighbour net/core/dev.c:8801 [inline]
     __netdev_upper_dev_unlink+0x1b9/0x7d0 net/core/dev.c:8951
     netdev_upper_dev_unlink+0x91/0xd0 net/core/dev.c:8980
     bond_upper_dev_unlink drivers/net/bonding/bond_main.c:1638 [inline]
     __bond_release_one+0x3eb/0x1100 drivers/net/bonding/bond_main.c:2375
     bond_slave_netdev_event drivers/net/bonding/bond_main.c:3867 [inline]
     bond_netdev_event+0x52d/0xf80 drivers/net/bonding/bond_main.c:3985
     notifier_call_chain+0x19d/0x3d0 kernel/notifier.c:85
     call_netdevice_notifiers_extack net/core/dev.c:2269 [inline]
     call_netdevice_notifiers net/core/dev.c:2283 [inline]
     unregister_netdevice_many_notify+0x1867/0x23f0 net/core/dev.c:12392
     unregister_netdevice_many net/core/dev.c:12455 [inline]
     unregister_netdevice_queue+0x2f5/0x370 net/core/dev.c:12269
     unregister_netdevice include/linux/netdevice.h:3398 [inline]
     __tun_detach+0x6d9/0x15d0 drivers/net/tun.c:621
     tun_detach drivers/net/tun.c:637 [inline]
     tun_chr_close+0x10a/0x1c0 drivers/net/tun.c:3436
     __fput+0x44c/0xa70 fs/file_table.c:468
     task_work_run+0x1d4/0x260 kernel/task_work.c:233
     exit_task_work include/linux/task_work.h:40 [inline]
     do_exit+0x6c5/0x2310 kernel/exit.c:971
     do_group_exit+0x21c/0x2d0 kernel/exit.c:1112
     get_signal+0x1285/0x1340 kernel/signal.c:3034
     arch_do_signal_or_restart+0x9a/0x7a0 arch/x86/kernel/signal.c:337
     __exit_to_user_mode_loop kernel/entry/common.c:41 [inline]
     exit_to_user_mode_loop+0x87/0x4f0 kernel/entry/common.c:75
     __exit_to_user_mode_prepare include/linux/irq-entry-common.h:226 [inline]
     syscall_exit_to_user_mode_prepare include/linux/irq-entry-common.h:256 [inline]
     syscall_exit_to_user_mode_work include/linux/entry-common.h:159 [inline]
     syscall_exit_to_user_mode include/linux/entry-common.h:194 [inline]
     do_syscall_64+0x2e9/0xfa0 arch/x86/entry/syscall_64.c:100
     entry_SYSCALL_64_after_hwframe+0x77/0x7f
Call trace for bond0[109] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     netdevice_queue_work drivers/infiniband/core/roce_gid_mgmt.c:675 [inline]
     netdevice_event+0x4db/0x8c0 drivers/infiniband/core/roce_gid_mgmt.c:823
     notifier_call_chain+0x19d/0x3d0 kernel/notifier.c:85
     __netdev_upper_dev_unlink+0x1db/0x7d0 net/core/dev.c:8953
     netdev_upper_dev_unlink+0x91/0xd0 net/core/dev.c:8980
     bond_upper_dev_unlink drivers/net/bonding/bond_main.c:1638 [inline]
     __bond_release_one+0x3eb/0x1100 drivers/net/bonding/bond_main.c:2375
     bond_slave_netdev_event drivers/net/bonding/bond_main.c:3867 [inline]
     bond_netdev_event+0x52d/0xf80 drivers/net/bonding/bond_main.c:3985
     notifier_call_chain+0x19d/0x3d0 kernel/notifier.c:85
     call_netdevice_notifiers_extack net/core/dev.c:2269 [inline]
     call_netdevice_notifiers net/core/dev.c:2283 [inline]
     unregister_netdevice_many_notify+0x1867/0x23f0 net/core/dev.c:12392
     unregister_netdevice_many net/core/dev.c:12455 [inline]
     unregister_netdevice_queue+0x2f5/0x370 net/core/dev.c:12269
     unregister_netdevice include/linux/netdevice.h:3398 [inline]
     __tun_detach+0x6d9/0x15d0 drivers/net/tun.c:621
     tun_detach drivers/net/tun.c:637 [inline]
     tun_chr_close+0x10a/0x1c0 drivers/net/tun.c:3436
     __fput+0x44c/0xa70 fs/file_table.c:468
     task_work_run+0x1d4/0x260 kernel/task_work.c:233
     exit_task_work include/linux/task_work.h:40 [inline]
     do_exit+0x6c5/0x2310 kernel/exit.c:971
     do_group_exit+0x21c/0x2d0 kernel/exit.c:1112
     get_signal+0x1285/0x1340 kernel/signal.c:3034
     arch_do_signal_or_restart+0x9a/0x7a0 arch/x86/kernel/signal.c:337
     __exit_to_user_mode_loop kernel/entry/common.c:41 [inline]
     exit_to_user_mode_loop+0x87/0x4f0 kernel/entry/common.c:75
     __exit_to_user_mode_prepare include/linux/irq-entry-common.h:226 [inline]
     syscall_exit_to_user_mode_prepare include/linux/irq-entry-common.h:256 [inline]
     syscall_exit_to_user_mode_work include/linux/entry-common.h:159 [inline]
     syscall_exit_to_user_mode include/linux/entry-common.h:194 [inline]
     do_syscall_64+0x2e9/0xfa0 arch/x86/entry/syscall_64.c:100
     entry_SYSCALL_64_after_hwframe+0x77/0x7f
Call trace for bond0[110] -1 at
     __dev_put include/linux/netdevice.h:4373 [inline]
     netdev_put include/linux/netdevice.h:4440 [inline]
     neigh_destroy+0x35c/0x5d0 net/core/neighbour.c:941
     neigh_flush_dev net/core/neighbour.c:434 [inline]
     __neigh_ifdown+0x1e8/0x8b0 net/core/neighbour.c:468
     neigh_ifdown+0x1f/0x30 net/core/neighbour.c:492
     rt6_disable_ip+0x758/0x7d0 net/ipv6/route.c:5010
     addrconf_ifdown+0x14d/0x1890 net/ipv6/addrconf.c:3853
     addrconf_notify+0x1bc/0x1080 net/ipv6/addrconf.c:-1
     notifier_call_chain+0x19d/0x3d0 kernel/notifier.c:85
     call_netdevice_notifiers_extack net/core/dev.c:2269 [inline]
     call_netdevice_notifiers net/core/dev.c:2283 [inline]
     netif_close_many+0x29c/0x410 net/core/dev.c:1785
     unregister_netdevice_many_notify+0xb50/0x23f0 net/core/dev.c:12362
     ops_exit_rtnl_list net/core/net_namespace.c:187 [inline]
     ops_undo_list+0x3dc/0x990 net/core/net_namespace.c:248
     cleanup_net+0x4d8/0x7a0 net/core/net_namespace.c:696
     process_one_work+0x93a/0x15e0 kernel/workqueue.c:3261
     process_scheduled_works kernel/workqueue.c:3344 [inline]
     worker_thread+0x9b0/0xee0 kernel/workqueue.c:3425
     kthread+0x711/0x8a0 kernel/kthread.c:463
     ret_from_fork+0x599/0xb30 arch/x86/kernel/process.c:158
     ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:246
Call trace for bond0[111] +2 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     addr_event+0x302/0x480 drivers/infiniband/core/roce_gid_mgmt.c:871
     inet6addr_event+0x9f/0xd0 drivers/infiniband/core/roce_gid_mgmt.c:904
     notifier_call_chain+0x19d/0x3d0 kernel/notifier.c:85
     atomic_notifier_call_chain+0xda/0x180 kernel/notifier.c:223
     addrconf_ifdown+0xe66/0x1890 net/ipv6/addrconf.c:3978
     addrconf_notify+0x1bc/0x1080 net/ipv6/addrconf.c:-1
     notifier_call_chain+0x19d/0x3d0 kernel/notifier.c:85
     call_netdevice_notifiers_extack net/core/dev.c:2269 [inline]
     call_netdevice_notifiers net/core/dev.c:2283 [inline]
     netif_close_many+0x29c/0x410 net/core/dev.c:1785
     unregister_netdevice_many_notify+0xb50/0x23f0 net/core/dev.c:12362
     ops_exit_rtnl_list net/core/net_namespace.c:187 [inline]
     ops_undo_list+0x3dc/0x990 net/core/net_namespace.c:248
     cleanup_net+0x4d8/0x7a0 net/core/net_namespace.c:696
     process_one_work+0x93a/0x15e0 kernel/workqueue.c:3261
Call trace for bond0[112] -2 at
     __dev_put include/linux/netdevice.h:4373 [inline]
     netdev_ref_replace include/linux/netdevice.h:4479 [inline]
     dst_dev_put+0x1fd/0x2d0 net/core/dst.c:154
     fib6_nh_release_dsts net/ipv6/route.c:3732 [inline]
     fib6_nh_release+0x36c/0x430 net/ipv6/route.c:3713
     fib6_info_destroy_rcu+0xca/0x1c0 net/ipv6/ip6_fib.c:177
     rcu_do_batch kernel/rcu/tree.c:2605 [inline]
     rcu_core+0xcab/0x1770 kernel/rcu/tree.c:2861
     handle_softirqs+0x27d/0x880 kernel/softirq.c:626
Call trace for bond0[113] -15 at
     __dev_put include/linux/netdevice.h:4373 [inline]
     netdev_put include/linux/netdevice.h:4440 [inline]
     __qdisc_destroy+0x1c9/0x420 net/sched/sch_generic.c:1081
     netdev_for_each_tx_queue include/linux/netdevice.h:2672 [inline]
     dev_shutdown+0x93/0x440 net/sched/sch_generic.c:1490
     unregister_netdevice_many_notify+0x11b3/0x23f0 net/core/dev.c:12380
     ops_exit_rtnl_list net/core/net_namespace.c:187 [inline]
     ops_undo_list+0x3dc/0x990 net/core/net_namespace.c:248
     cleanup_net+0x4d8/0x7a0 net/core/net_namespace.c:696
     process_one_work+0x93a/0x15e0 kernel/workqueue.c:3261
Call trace for bond0[114] -1 at
     __dev_put include/linux/netdevice.h:4373 [inline]
     netdev_put include/linux/netdevice.h:4440 [inline]
     __qdisc_destroy+0x1c9/0x420 net/sched/sch_generic.c:1081
     qdisc_put net/sched/sch_generic.c:1105 [inline]
     dev_shutdown+0x34c/0x440 net/sched/sch_generic.c:1493
     unregister_netdevice_many_notify+0x11b3/0x23f0 net/core/dev.c:12380
     ops_exit_rtnl_list net/core/net_namespace.c:187 [inline]
     ops_undo_list+0x3dc/0x990 net/core/net_namespace.c:248
     cleanup_net+0x4d8/0x7a0 net/core/net_namespace.c:696
     process_one_work+0x93a/0x15e0 kernel/workqueue.c:3261
Call trace for bond0[115] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     netdevice_queue_work drivers/infiniband/core/roce_gid_mgmt.c:675 [inline]
     netdevice_event+0x4db/0x8c0 drivers/infiniband/core/roce_gid_mgmt.c:823
     notifier_call_chain+0x19d/0x3d0 kernel/notifier.c:85
     call_netdevice_notifiers_extack net/core/dev.c:2269 [inline]
     call_netdevice_notifiers net/core/dev.c:2283 [inline]
     unregister_netdevice_many_notify+0x1867/0x23f0 net/core/dev.c:12392
     ops_exit_rtnl_list net/core/net_namespace.c:187 [inline]
     ops_undo_list+0x3dc/0x990 net/core/net_namespace.c:248
     cleanup_net+0x4d8/0x7a0 net/core/net_namespace.c:696
     process_one_work+0x93a/0x15e0 kernel/workqueue.c:3261
Call trace for bond0[116] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     netdevice_queue_work drivers/infiniband/core/roce_gid_mgmt.c:676 [inline]
     netdevice_event+0x585/0x8c0 drivers/infiniband/core/roce_gid_mgmt.c:823
     notifier_call_chain+0x19d/0x3d0 kernel/notifier.c:85
     call_netdevice_notifiers_extack net/core/dev.c:2269 [inline]
     call_netdevice_notifiers net/core/dev.c:2283 [inline]
     unregister_netdevice_many_notify+0x1867/0x23f0 net/core/dev.c:12392
     ops_exit_rtnl_list net/core/net_namespace.c:187 [inline]
     ops_undo_list+0x3dc/0x990 net/core/net_namespace.c:248
     cleanup_net+0x4d8/0x7a0 net/core/net_namespace.c:696
     process_one_work+0x93a/0x15e0 kernel/workqueue.c:3261
Call trace for bond0[117] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     addr_event+0x302/0x480 drivers/infiniband/core/roce_gid_mgmt.c:871
     inetaddr_event+0xe3/0x140 drivers/infiniband/core/roce_gid_mgmt.c:890
     notifier_call_chain+0x19d/0x3d0 kernel/notifier.c:85
     blocking_notifier_call_chain+0x6a/0x90 kernel/notifier.c:380
     __inet_del_ifa+0x864/0x1050 net/ipv4/devinet.c:450
     inet_del_ifa net/ipv4/devinet.c:487 [inline]
     inetdev_destroy net/ipv4/devinet.c:328 [inline]
     inetdev_event+0x612/0x1600 net/ipv4/devinet.c:1655
     notifier_call_chain+0x19d/0x3d0 kernel/notifier.c:85
     call_netdevice_notifiers_extack net/core/dev.c:2269 [inline]
     call_netdevice_notifiers net/core/dev.c:2283 [inline]
     unregister_netdevice_many_notify+0x1867/0x23f0 net/core/dev.c:12392
     ops_exit_rtnl_list net/core/net_namespace.c:187 [inline]
     ops_undo_list+0x3dc/0x990 net/core/net_namespace.c:248
     cleanup_net+0x4d8/0x7a0 net/core/net_namespace.c:696
     process_one_work+0x93a/0x15e0 kernel/workqueue.c:3261
Call trace for bond0[118] -1 at
     __dev_put include/linux/netdevice.h:4373 [inline]
     netdev_put include/linux/netdevice.h:4440 [inline]
     neigh_parms_release+0x173/0x200 net/core/neighbour.c:1792
     inetdev_destroy net/ipv4/devinet.c:335 [inline]
     inetdev_event+0x7b5/0x1600 net/ipv4/devinet.c:1655
     notifier_call_chain+0x19d/0x3d0 kernel/notifier.c:85
     call_netdevice_notifiers_extack net/core/dev.c:2269 [inline]
     call_netdevice_notifiers net/core/dev.c:2283 [inline]
     unregister_netdevice_many_notify+0x1867/0x23f0 net/core/dev.c:12392
     ops_exit_rtnl_list net/core/net_namespace.c:187 [inline]
     ops_undo_list+0x3dc/0x990 net/core/net_namespace.c:248
     cleanup_net+0x4d8/0x7a0 net/core/net_namespace.c:696
     process_one_work+0x93a/0x15e0 kernel/workqueue.c:3261
Call trace for bond0[119] -1 at
     __dev_put include/linux/netdevice.h:4373 [inline]
     netdev_put include/linux/netdevice.h:4440 [inline]
     neigh_parms_release+0x173/0x200 net/core/neighbour.c:1792
     addrconf_ifdown+0x15a8/0x1890 net/ipv6/addrconf.c:4007
     addrconf_notify+0x1bc/0x1080 net/ipv6/addrconf.c:-1
     notifier_call_chain+0x19d/0x3d0 kernel/notifier.c:85
     call_netdevice_notifiers_extack net/core/dev.c:2269 [inline]
     call_netdevice_notifiers net/core/dev.c:2283 [inline]
     unregister_netdevice_many_notify+0x1867/0x23f0 net/core/dev.c:12392
     ops_exit_rtnl_list net/core/net_namespace.c:187 [inline]
     ops_undo_list+0x3dc/0x990 net/core/net_namespace.c:248
     cleanup_net+0x4d8/0x7a0 net/core/net_namespace.c:696
     process_one_work+0x93a/0x15e0 kernel/workqueue.c:3261
Call trace for bond0[120] -1 at
     __dev_put include/linux/netdevice.h:4373 [inline]
     netdev_put include/linux/netdevice.h:4440 [inline]
     in6_dev_finish_destroy+0xdd/0x1e0 net/ipv6/addrconf_core.c:273
     in6_dev_put include/net/addrconf.h:422 [inline]
     addrconf_ifdown+0x15fe/0x1890 net/ipv6/addrconf.c:4009
     addrconf_notify+0x1bc/0x1080 net/ipv6/addrconf.c:-1
     notifier_call_chain+0x19d/0x3d0 kernel/notifier.c:85
     call_netdevice_notifiers_extack net/core/dev.c:2269 [inline]
     call_netdevice_notifiers net/core/dev.c:2283 [inline]
     unregister_netdevice_many_notify+0x1867/0x23f0 net/core/dev.c:12392
     ops_exit_rtnl_list net/core/net_namespace.c:187 [inline]
     ops_undo_list+0x3dc/0x990 net/core/net_namespace.c:248
     cleanup_net+0x4d8/0x7a0 net/core/net_namespace.c:696
     process_one_work+0x93a/0x15e0 kernel/workqueue.c:3261
Call trace for bond0[121] -1 at
     __dev_put include/linux/netdevice.h:4373 [inline]
     netdev_put include/linux/netdevice.h:4440 [inline]
     batadv_hardif_release net/batman-adv/hard-interface.c:55 [inline]
     kref_put include/linux/kref.h:65 [inline]
     batadv_hardif_put+0x8f/0x140 net/batman-adv/hard-interface.h:94
     batadv_hard_if_event+0x624/0x1280 net/batman-adv/hard-interface.c:1008
     notifier_call_chain+0x19d/0x3d0 kernel/notifier.c:85
     call_netdevice_notifiers_extack net/core/dev.c:2269 [inline]
     call_netdevice_notifiers net/core/dev.c:2283 [inline]
     unregister_netdevice_many_notify+0x1867/0x23f0 net/core/dev.c:12392
     ops_exit_rtnl_list net/core/net_namespace.c:187 [inline]
     ops_undo_list+0x3dc/0x990 net/core/net_namespace.c:248
     cleanup_net+0x4d8/0x7a0 net/core/net_namespace.c:696
     process_one_work+0x93a/0x15e0 kernel/workqueue.c:3261
Call trace for bond0[122] -4 at
     __dev_put include/linux/netdevice.h:4373 [inline]
     netdev_put include/linux/netdevice.h:4440 [inline]
     __netdev_adjacent_dev_remove+0x38f/0x680 net/core/dev.c:8751
     __netdev_adjacent_dev_unlink_lists net/core/dev.c:8784 [inline]
     __netdev_adjacent_dev_unlink_neighbour net/core/dev.c:8801 [inline]
     __netdev_upper_dev_unlink+0x1b9/0x7d0 net/core/dev.c:8951
     netdev_upper_dev_unlink+0x91/0xd0 net/core/dev.c:8980
     bond_upper_dev_unlink drivers/net/bonding/bond_main.c:1638 [inline]
     __bond_release_one+0x3eb/0x1100 drivers/net/bonding/bond_main.c:2375
     bond_uninit+0x123/0x2d0 drivers/net/bonding/bond_main.c:5954
     unregister_netdevice_many_notify+0x1ce5/0x23f0 net/core/dev.c:12413
     ops_exit_rtnl_list net/core/net_namespace.c:187 [inline]
     ops_undo_list+0x3dc/0x990 net/core/net_namespace.c:248
     cleanup_net+0x4d8/0x7a0 net/core/net_namespace.c:696
     process_one_work+0x93a/0x15e0 kernel/workqueue.c:3261
Call trace for bond0[123] +4 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     netdevice_queue_work drivers/infiniband/core/roce_gid_mgmt.c:675 [inline]
     netdevice_event+0x4db/0x8c0 drivers/infiniband/core/roce_gid_mgmt.c:823
     notifier_call_chain+0x19d/0x3d0 kernel/notifier.c:85
     __netdev_upper_dev_unlink+0x1db/0x7d0 net/core/dev.c:8953
     netdev_upper_dev_unlink+0x91/0xd0 net/core/dev.c:8980
     bond_upper_dev_unlink drivers/net/bonding/bond_main.c:1638 [inline]
     __bond_release_one+0x3eb/0x1100 drivers/net/bonding/bond_main.c:2375
     bond_uninit+0x123/0x2d0 drivers/net/bonding/bond_main.c:5954
     unregister_netdevice_many_notify+0x1ce5/0x23f0 net/core/dev.c:12413
     ops_exit_rtnl_list net/core/net_namespace.c:187 [inline]
     ops_undo_list+0x3dc/0x990 net/core/net_namespace.c:248
     cleanup_net+0x4d8/0x7a0 net/core/net_namespace.c:696
     process_one_work+0x93a/0x15e0 kernel/workqueue.c:3261
Call trace for bond0[124] -1 at
     __dev_put include/linux/netdevice.h:4373 [inline]
     netdev_put include/linux/netdevice.h:4440 [inline]
     in_dev_finish_destroy+0xa7/0x1a0 net/ipv4/devinet.c:258
     in_dev_put include/linux/inetdevice.h:290 [inline]
     inet_rcu_free_ifa+0x72/0xb0 net/ipv4/devinet.c:228
     rcu_do_batch kernel/rcu/tree.c:2605 [inline]
     rcu_core+0xcab/0x1770 kernel/rcu/tree.c:2861
     handle_softirqs+0x27d/0x880 kernel/softirq.c:626
Call trace for bond0[125] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     linkwatch_add_event net/core/link_watch.c:131 [inline]
     linkwatch_fire_event+0x166/0x220 net/core/link_watch.c:314
     bond_set_carrier+0x237/0x340 drivers/net/bonding/bond_main.c:776
     __bond_release_one+0x8a1/0x1100 drivers/net/bonding/bond_main.c:2427
     bond_uninit+0x123/0x2d0 drivers/net/bonding/bond_main.c:5954
     unregister_netdevice_many_notify+0x1ce5/0x23f0 net/core/dev.c:12413
     ops_exit_rtnl_list net/core/net_namespace.c:187 [inline]
     ops_undo_list+0x3dc/0x990 net/core/net_namespace.c:248
     cleanup_net+0x4d8/0x7a0 net/core/net_namespace.c:696
     process_one_work+0x93a/0x15e0 kernel/workqueue.c:3261
Call trace for bond0[126] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     netdevice_queue_work drivers/infiniband/core/roce_gid_mgmt.c:675 [inline]
     netdevice_event+0x4db/0x8c0 drivers/infiniband/core/roce_gid_mgmt.c:823
     notifier_call_chain+0x19d/0x3d0 kernel/notifier.c:85
     call_netdevice_notifiers_extack net/core/dev.c:2269 [inline]
     call_netdevice_notifiers+0x88/0xc0 net/core/dev.c:2283
     __bond_release_one+0x99d/0x1100 drivers/net/bonding/bond_main.c:2436
     bond_uninit+0x123/0x2d0 drivers/net/bonding/bond_main.c:5954
     unregister_netdevice_many_notify+0x1ce5/0x23f0 net/core/dev.c:12413
     ops_exit_rtnl_list net/core/net_namespace.c:187 [inline]
     ops_undo_list+0x3dc/0x990 net/core/net_namespace.c:248
     cleanup_net+0x4d8/0x7a0 net/core/net_namespace.c:696
     process_one_work+0x93a/0x15e0 kernel/workqueue.c:3261
Call trace for bond0[127] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     netdevice_queue_work drivers/infiniband/core/roce_gid_mgmt.c:676 [inline]
     netdevice_event+0x585/0x8c0 drivers/infiniband/core/roce_gid_mgmt.c:823
     notifier_call_chain+0x19d/0x3d0 kernel/notifier.c:85
     call_netdevice_notifiers_extack net/core/dev.c:2269 [inline]
     call_netdevice_notifiers+0x88/0xc0 net/core/dev.c:2283
     __bond_release_one+0x99d/0x1100 drivers/net/bonding/bond_main.c:2436
     bond_uninit+0x123/0x2d0 drivers/net/bonding/bond_main.c:5954
     unregister_netdevice_many_notify+0x1ce5/0x23f0 net/core/dev.c:12413
     ops_exit_rtnl_list net/core/net_namespace.c:187 [inline]
     ops_undo_list+0x3dc/0x990 net/core/net_namespace.c:248
     cleanup_net+0x4d8/0x7a0 net/core/net_namespace.c:696
     process_one_work+0x93a/0x15e0 kernel/workqueue.c:3261
Call trace for bond0[128] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     ib_device_get_netdev+0x1bb/0x300 drivers/infiniband/core/device.c:2326
     iw_query_port drivers/infiniband/core/device.c:2110 [inline]
     ib_query_port+0x199/0x840 drivers/infiniband/core/device.c:2178
     ib_cache_update+0x1b6/0xc40 drivers/infiniband/core/cache.c:1459
     ib_cache_event_task+0xd8/0x1c0 drivers/infiniband/core/cache.c:1539
     process_one_work+0x93a/0x15e0 kernel/workqueue.c:3261
Call trace for bond0[129] -1 at
     __dev_put include/linux/netdevice.h:4373 [inline]
     netdev_put include/linux/netdevice.h:4440 [inline]
     dev_put include/linux/netdevice.h:4465 [inline]
     iw_query_port drivers/infiniband/core/device.c:2136 [inline]
     ib_query_port+0x653/0x840 drivers/infiniband/core/device.c:2178
     ib_cache_update+0x1b6/0xc40 drivers/infiniband/core/cache.c:1459
     ib_cache_event_task+0xd8/0x1c0 drivers/infiniband/core/cache.c:1539
     process_one_work+0x93a/0x15e0 kernel/workqueue.c:3261
Call trace for bond0[130] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     ib_device_get_netdev+0x1bb/0x300 drivers/infiniband/core/device.c:2326
     ib_get_eth_speed+0x140/0x7c0 drivers/infiniband/core/verbs.c:1991
     siw_query_port+0x3c/0x4b0 drivers/infiniband/sw/siw/siw_verbs.c:179
     ib_cache_update+0x1b6/0xc40 drivers/infiniband/core/cache.c:1459
     ib_cache_event_task+0xd8/0x1c0 drivers/infiniband/core/cache.c:1539
     process_one_work+0x93a/0x15e0 kernel/workqueue.c:3261
Call trace for bond0[131] -16 at
     __dev_put include/linux/netdevice.h:4373 [inline]
     netdev_put include/linux/netdevice.h:4440 [inline]
     rx_queue_release+0x126/0x1a0 net/core/net-sysfs.c:1181
     kobject_cleanup lib/kobject.c:689 [inline]
     kobject_release lib/kobject.c:720 [inline]
     kref_put include/linux/kref.h:65 [inline]
     kobject_put+0x22b/0x570 lib/kobject.c:737
     net_rx_queue_update_kobjects+0x6a6/0x750 net/core/net-sysfs.c:1338
     remove_queue_kobjects net/core/net-sysfs.c:2169 [inline]
     netdev_unregister_kobject+0x113/0x450 net/core/net-sysfs.c:2325
     unregister_netdevice_many_notify+0x1ddd/0x23f0 net/core/dev.c:12427
     ops_exit_rtnl_list net/core/net_namespace.c:187 [inline]
     ops_undo_list+0x3dc/0x990 net/core/net_namespace.c:248
     cleanup_net+0x4d8/0x7a0 net/core/net_namespace.c:696
     process_one_work+0x93a/0x15e0 kernel/workqueue.c:3261
Call trace for bond0[132] -16 at
     __dev_put include/linux/netdevice.h:4373 [inline]
     netdev_put include/linux/netdevice.h:4440 [inline]
     netdev_queue_release+0x6a/0xd0 net/core/net-sysfs.c:1931
     kobject_cleanup lib/kobject.c:689 [inline]
     kobject_release lib/kobject.c:720 [inline]
     kref_put include/linux/kref.h:65 [inline]
     kobject_put+0x22b/0x570 lib/kobject.c:737
     netdev_queue_update_kobjects+0x5e8/0x6d0 net/core/net-sysfs.c:2073
     remove_queue_kobjects net/core/net-sysfs.c:2170 [inline]
     netdev_unregister_kobject+0x11f/0x450 net/core/net-sysfs.c:2325
     unregister_netdevice_many_notify+0x1ddd/0x23f0 net/core/dev.c:12427
     ops_exit_rtnl_list net/core/net_namespace.c:187 [inline]
     ops_undo_list+0x3dc/0x990 net/core/net_namespace.c:248
     cleanup_net+0x4d8/0x7a0 net/core/net_namespace.c:696
     process_one_work+0x93a/0x15e0 kernel/workqueue.c:3261
Call trace for bond0[133] -1 at
     __dev_put include/linux/netdevice.h:4373 [inline]
     netdev_put include/linux/netdevice.h:4440 [inline]
     unregister_netdevice_many_notify+0x20c7/0x23f0 net/core/dev.c:12437
     ops_exit_rtnl_list net/core/net_namespace.c:187 [inline]
     ops_undo_list+0x3dc/0x990 net/core/net_namespace.c:248
     cleanup_net+0x4d8/0x7a0 net/core/net_namespace.c:696
     process_one_work+0x93a/0x15e0 kernel/workqueue.c:3261
Call trace for bond0[134] -1 at
     __dev_put include/linux/netdevice.h:4373 [inline]
     linkwatch_do_dev+0x89/0x180 net/core/link_watch.c:191
     linkwatch_sync_dev+0x27f/0x390 net/core/link_watch.c:289
     netdev_run_todo+0x3f1/0x10c0 net/core/dev.c:11680
     ops_exit_rtnl_list net/core/net_namespace.c:189 [inline]
     ops_undo_list+0x3e1/0x990 net/core/net_namespace.c:248
     cleanup_net+0x4d8/0x7a0 net/core/net_namespace.c:696
     process_one_work+0x93a/0x15e0 kernel/workqueue.c:3261
Call trace for bond0[135] -1 at
     __dev_put include/linux/netdevice.h:4373 [inline]
     netdev_put include/linux/netdevice.h:4440 [inline]
     dev_put include/linux/netdevice.h:4465 [inline]
     ib_get_eth_speed+0x182/0x7c0 drivers/infiniband/core/verbs.c:1999
     siw_query_port+0x3c/0x4b0 drivers/infiniband/sw/siw/siw_verbs.c:179
     ib_cache_update+0x1b6/0xc40 drivers/infiniband/core/cache.c:1459
     ib_cache_event_task+0xd8/0x1c0 drivers/infiniband/core/cache.c:1539
     process_one_work+0x93a/0x15e0 kernel/workqueue.c:3261
Call trace for bond0[136] +1 at
     __dev_hold include/linux/netdevice.h:4387 [inline]
     netdev_hold include/linux/netdevice.h:4430 [inline]
     dev_hold include/linux/netdevice.h:4453 [inline]
     ib_device_get_netdev+0x1bb/0x300 drivers/infiniband/core/device.c:2326
     siw_query_port+0x64/0x4b0 drivers/infiniband/sw/siw/siw_verbs.c:184
     ib_cache_update+0x1b6/0xc40 drivers/infiniband/core/cache.c:1459
     ib_cache_event_task+0xd8/0x1c0 drivers/infiniband/core/cache.c:1539
     process_one_work+0x93a/0x15e0 kernel/workqueue.c:3261
Call trace for bond0[137] -1 at
     __dev_put include/linux/netdevice.h:4373 [inline]
     netdev_put include/linux/netdevice.h:4440 [inline]
     dev_put include/linux/netdevice.h:4465 [inline]
     siw_query_port+0x345/0x4b0 drivers/infiniband/sw/siw/siw_verbs.c:209
     ib_cache_update+0x1b6/0xc40 drivers/infiniband/core/cache.c:1459
     ib_cache_event_task+0xd8/0x1c0 drivers/infiniband/core/cache.c:1539
     process_one_work+0x93a/0x15e0 kernel/workqueue.c:3261
balance as of bond0[137] is 2

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [rdma/siw] unregister_netdevice: waiting for bond0 to become free. Usage count = 3
  2025-11-25 14:31 [rdma/siw] unregister_netdevice: waiting for bond0 to become free. Usage count = 3 Tetsuo Handa
@ 2025-12-05 14:20 ` Tetsuo Handa
  2025-12-11 13:24   ` [not-yet-signed PATCH] RDMA/core: flush gid_cache_wq WQ from disable_device() Tetsuo Handa
  0 siblings, 1 reply; 13+ messages in thread
From: Tetsuo Handa @ 2025-12-05 14:20 UTC (permalink / raw)
  To: Bernard Metzler, OFED mailing list, Network Development

On 2025/11/25 23:31, Tetsuo Handa wrote:
> The output from the debug printk() patch is attached (because it has 2500 lines).
> You can see that there is one alloc_gid_entry() call in bond0[74] but there is
> no corresponding put_gid_ndev() call. I suspect that there is a refcount leak in
> "struct ib_gid_table_entry" handling. Where should we check next?

Another debug printk() patch in next-20251204 reported that there is a refcount
leak in "struct ib_gid_table_entry" handling.

Is serialization between creating a new ib_gid_table_entry and deleting existing
ib_gid_table_entry properly implemented (like a similar case explained in
https://lkml.kernel.org/r/85b701a9-511d-4cf2-8c9c-5fade945f187@I-love.SAKURA.ne.jp ) ?
Don't we need to check ndev->reg_state when creating a new ib_gid_table_entry (like
https://lkml.kernel.org/r/b9653191-d479-4c8b-8536-1326d028db5c@I-love.SAKURA.ne.jp does) ?

Regards.



unregister_netdevice: waiting for ������ to become free. Usage count = 3
ref_tracker: netdev@ffff88805e01c628 has 1/1 users at
     __netdev_tracker_alloc include/linux/netdevice.h:4415 [inline]
     netdev_hold include/linux/netdevice.h:4444 [inline]
     ib_device_set_netdev+0x2e1/0x6d0 drivers/infiniband/core/device.c:2253
     rxe_register_device+0x1bb/0x350 drivers/infiniband/sw/rxe/rxe_verbs.c:1552
     rxe_net_add+0x81/0x110 drivers/infiniband/sw/rxe/rxe_net.c:586
     rxe_newlink+0xdd/0x190 drivers/infiniband/sw/rxe/rxe.c:234
     nldev_newlink+0x4a5/0x5a0 drivers/infiniband/core/nldev.c:1797
     rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:-1 [inline]
     rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline]
     rdma_nl_rcv+0x6ae/0x980 drivers/infiniband/core/netlink.c:259
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec+0x18f/0x1d0 net/socket.c:728
     __sock_sendmsg net/socket.c:743 [inline]
     ____sys_sendmsg+0x577/0x880 net/socket.c:2601
     ___sys_sendmsg+0x21f/0x2a0 net/socket.c:2655
     __sys_sendmsg net/socket.c:2687 [inline]
     __do_sys_sendmsg net/socket.c:2692 [inline]
     __se_sys_sendmsg net/socket.c:2690 [inline]
     __x64_sys_sendmsg+0x19b/0x260 net/socket.c:2690
     do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
     do_syscall_64+0xfa/0xf80 arch/x86/entry/syscall_64.c:94
     entry_SYSCALL_64_after_hwframe+0x77/0x7f

Call trace for ������@ffff8880254b5f00 +1 at
     alloc_gid_entry drivers/infiniband/core/cache.c:410 [inline]
     add_modify_gid+0x317/0xcc0 drivers/infiniband/core/cache.c:550
     __ib_cache_gid_add+0x230/0x370 drivers/infiniband/core/cache.c:681
     ib_cache_gid_set_default_gid+0x5f9/0x710 drivers/infiniband/core/cache.c:960
     add_default_gids drivers/infiniband/core/roce_gid_mgmt.c:469 [inline]
     enum_all_gids_of_dev_cb+0x17d/0x270 drivers/infiniband/core/roce_gid_mgmt.c:495
     ib_enum_roce_netdev+0x1ab/0x2e0 drivers/infiniband/core/device.c:2419
     gid_table_setup_one drivers/infiniband/core/cache.c:1033 [inline]
     ib_cache_setup_one+0x428/0x5e0 drivers/infiniband/core/cache.c:1711
     ib_register_device+0xfbe/0x1400 drivers/infiniband/core/device.c:1454
     rxe_register_device+0x1e3/0x350 drivers/infiniband/sw/rxe/rxe_verbs.c:1556
     rxe_net_add+0x81/0x110 drivers/infiniband/sw/rxe/rxe_net.c:586
     rxe_newlink+0xdd/0x190 drivers/infiniband/sw/rxe/rxe.c:234
     nldev_newlink+0x4a5/0x5a0 drivers/infiniband/core/nldev.c:1797
     rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:-1 [inline]
     rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline]
     rdma_nl_rcv+0x6ae/0x980 drivers/infiniband/core/netlink.c:259
     netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
     netlink_unicast+0x82f/0x9e0 net/netlink/af_netlink.c:1344
     netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1894
     sock_sendmsg_nosec+0x18f/0x1d0 net/socket.c:728
Call trace for ������@ffff8880254b5f00 +4 at
     get_gid_entry drivers/infiniband/core/cache.c:435 [inline]
     rdma_get_gid_attr+0x2ee/0x3f0 drivers/infiniband/core/cache.c:1300
     smc_ib_fill_mac net/smc/smc_ib.c:160 [inline]
     smc_ib_remember_port_attr net/smc/smc_ib.c:369 [inline]
     smc_ib_port_event_work+0x196/0x940 net/smc/smc_ib.c:388
     process_one_work+0x93a/0x15a0 kernel/workqueue.c:3261
Call trace for ������@ffff8880254b5f00 -4 at
     put_gid_entry drivers/infiniband/core/cache.c:441 [inline]
     rdma_put_gid_attr+0x7c/0x130 drivers/infiniband/core/cache.c:1381
     smc_ib_fill_mac net/smc/smc_ib.c:165 [inline]
     smc_ib_remember_port_attr net/smc/smc_ib.c:369 [inline]
     smc_ib_port_event_work+0x1d4/0x940 net/smc/smc_ib.c:388
     process_one_work+0x93a/0x15a0 kernel/workqueue.c:3261
balance for ������@ib_gid_table_entry is 1


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [not-yet-signed PATCH] RDMA/core: flush gid_cache_wq WQ from disable_device()
  2025-12-05 14:20 ` Tetsuo Handa
@ 2025-12-11 13:24   ` Tetsuo Handa
  2025-12-15 14:09     ` Tetsuo Handa
  0 siblings, 1 reply; 13+ messages in thread
From: Tetsuo Handa @ 2025-12-11 13:24 UTC (permalink / raw)
  To: Jason Gunthorpe, Leon Romanovsky, Majd Dibbiny, Doug Ledford,
	Yuval Shaia
  Cc: Bernard Metzler, OFED mailing list, Network Development

syzbot is reporting a net_device refcount leak in RDMA code.
A debug printk() patch in next-20251204 reported that there is a refcount
leak in ib_gid_table_entry handling. Another debug printk() patch in
next-20251210 reported that netdevice_event_work_handler() is called for
allocating GID entry but is not called for releasing GID entry.

  unregister_netdevice: waiting for ipvlan0 to become free. Usage count = 5
  Call trace for ipvlan0@ffff888076d9da00 +1 at
       alloc_gid_entry drivers/infiniband/core/cache.c:410 [inline]
       add_modify_gid+0x317/0xcc0 drivers/infiniband/core/cache.c:550
       __ib_cache_gid_add+0x230/0x370 drivers/infiniband/core/cache.c:681
       ib_cache_gid_set_default_gid+0x5f9/0x710 drivers/infiniband/core/cache.c:960
       ib_enum_roce_netdev+0x1ab/0x2e0 drivers/infiniband/core/device.c:2451
       ib_enum_all_roce_netdevs+0xcc/0x160 drivers/infiniband/core/device.c:2477
       netdevice_event_work_handler+0xef/0x260 drivers/infiniband/core/roce_gid_mgmt.c:660
       process_one_work+0x93a/0x15a0 kernel/workqueue.c:3279
  Call trace for ipvlan0@ffff888076d9de00 +1 at
       alloc_gid_entry drivers/infiniband/core/cache.c:410 [inline]
       add_modify_gid+0x317/0xcc0 drivers/infiniband/core/cache.c:550
       __ib_cache_gid_add+0x230/0x370 drivers/infiniband/core/cache.c:681
       update_gid drivers/infiniband/core/roce_gid_mgmt.c:110 [inline]
       update_gid_ip drivers/infiniband/core/roce_gid_mgmt.c:294 [inline]
       enum_netdev_ipv4_ips drivers/infiniband/core/roce_gid_mgmt.c:368 [inline]
       _add_netdev_ips+0x98c/0x1560 drivers/infiniband/core/roce_gid_mgmt.c:424
       ib_enum_roce_netdev+0x1ab/0x2e0 drivers/infiniband/core/device.c:2451
       ib_enum_all_roce_netdevs+0xcc/0x160 drivers/infiniband/core/device.c:2477
       netdevice_event_work_handler+0xef/0x260 drivers/infiniband/core/roce_gid_mgmt.c:660
       process_one_work+0x93a/0x15a0 kernel/workqueue.c:3279
  Call trace for ipvlan0@ffff888031e4eb00 +1 at
       alloc_gid_entry drivers/infiniband/core/cache.c:410 [inline]
       add_modify_gid+0x317/0xcc0 drivers/infiniband/core/cache.c:550
       __ib_cache_gid_add+0x230/0x370 drivers/infiniband/core/cache.c:681
       update_gid drivers/infiniband/core/roce_gid_mgmt.c:110 [inline]
       enum_netdev_ipv6_ips drivers/infiniband/core/roce_gid_mgmt.c:415 [inline]
       _add_netdev_ips+0x12d9/0x1560 drivers/infiniband/core/roce_gid_mgmt.c:426
       ib_enum_roce_netdev+0x1ab/0x2e0 drivers/infiniband/core/device.c:2451
       ib_enum_all_roce_netdevs+0xcc/0x160 drivers/infiniband/core/device.c:2477
       netdevice_event_work_handler+0xef/0x260 drivers/infiniband/core/roce_gid_mgmt.c:660
       process_one_work+0x93a/0x15a0 kernel/workqueue.c:3279
  Call trace for ipvlan0@ffff888076d9da00 +1 at
       get_gid_entry drivers/infiniband/core/cache.c:435 [inline]
       rdma_get_gid_attr+0x2ee/0x3f0 drivers/infiniband/core/cache.c:1300
       smc_ib_fill_mac net/smc/smc_ib.c:160 [inline]
       smc_ib_remember_port_attr net/smc/smc_ib.c:369 [inline]
       smc_ib_port_event_work+0x196/0x940 net/smc/smc_ib.c:388
       process_one_work+0x93a/0x15a0 kernel/workqueue.c:3279
  Call trace for ipvlan0@ffff888076d9da00 -1 at
       put_gid_entry drivers/infiniband/core/cache.c:441 [inline]
       rdma_put_gid_attr+0x7c/0x130 drivers/infiniband/core/cache.c:1381
       smc_ib_fill_mac net/smc/smc_ib.c:165 [inline]
       smc_ib_remember_port_attr net/smc/smc_ib.c:369 [inline]
       smc_ib_port_event_work+0x1d4/0x940 net/smc/smc_ib.c:388
       process_one_work+0x93a/0x15a0 kernel/workqueue.c:3279
  balance for ipvlan0@ib_gid_table_entry is 3

If netdevice_event_work_handler() is supposed to be called for releasing
GID entry upon NETDEV_UNREGISTER event, we can consider that something is
preventing ib_enum_all_roce_netdevs() from being called. And I found
possible race window explained below.

Since ib_enum_all_roce_netdevs() uses xa_for_each_marked(DEVICE_REGISTERED)
with devices_rwsem held for read, we need to ensure that all works queued
by netdevice_event(NETDEV_UNREGISTER) completes before disable_device()
calls xa_clear_mark(DEVICE_REGISTERED) with devices_rwsem held for write.
Otherwise, ib_enum_all_roce_netdevs() will fail to find devices for
NETDEV_UNREGISTER event (which is needed for dropping a refcount on
ib_gid_table_entry which is holding a refcount on net_device).

Since flush_workqueue(gid_cache_wq) is not called before disable_device()
calls xa_clear_mark(), and commit 8fe8bacb92f2 ("IB/core: Add ordered
workqueue for RoCE GID management") introduced gid_cache_wq as ordered,
possibility of failing to complete some of works before xa_clear_mark() is
called might not be negligible. Therefore, flush gid_cache_wq WQ before
disable_device() calls xa_clear_mark().

Also, add __GFP_NOFAIL when allocating memory for a work for netdev events.
Since that commit is intended to ensure that netdev events are processed
in the order netdevice_event() is called, failing to invoke corresponding
event handler due to memory allocation failure is as bad as processing
netdev events in parallel.
---
Since a reproducer for this bug is not available, I haven't verified
whether this is a bug syzbot is currently reporting in
https://syzkaller.appspot.com/bug?extid=881d65229ca4f9ae8c84 .
But I'd like to add Reported-by: syzbot if netdevice_event_work_handler()
is supposed to be called for releasing GID entry upon NETDEV_UNREGISTER
event. Thus, please review this change.

 drivers/infiniband/core/core_priv.h     |  1 +
 drivers/infiniband/core/device.c        |  1 +
 drivers/infiniband/core/roce_gid_mgmt.c | 10 ++++++----
 3 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/drivers/infiniband/core/core_priv.h b/drivers/infiniband/core/core_priv.h
index 05102769a918..8355020bb98a 100644
--- a/drivers/infiniband/core/core_priv.h
+++ b/drivers/infiniband/core/core_priv.h
@@ -142,6 +142,7 @@ int ib_cache_gid_del_all_netdev_gids(struct ib_device *ib_dev, u32 port,
 
 int roce_gid_mgmt_init(void);
 void roce_gid_mgmt_cleanup(void);
+void roce_flush_gid_cache_wq(void);
 
 unsigned long roce_gid_type_mask_support(struct ib_device *ib_dev, u32 port);
 
diff --git a/drivers/infiniband/core/device.c b/drivers/infiniband/core/device.c
index 13e8a1714bbd..8638583a64f2 100644
--- a/drivers/infiniband/core/device.c
+++ b/drivers/infiniband/core/device.c
@@ -1300,6 +1300,7 @@ static void disable_device(struct ib_device *device)
 
 	WARN_ON(!refcount_read(&device->refcount));
 
+	roce_flush_gid_cache_wq();
 	down_write(&devices_rwsem);
 	xa_clear_mark(&devices, device->index, DEVICE_REGISTERED);
 	up_write(&devices_rwsem);
diff --git a/drivers/infiniband/core/roce_gid_mgmt.c b/drivers/infiniband/core/roce_gid_mgmt.c
index a9f2c6b1b29e..79982d448cd2 100644
--- a/drivers/infiniband/core/roce_gid_mgmt.c
+++ b/drivers/infiniband/core/roce_gid_mgmt.c
@@ -661,10 +661,7 @@ static int netdevice_queue_work(struct netdev_event_work_cmd *cmds,
 {
 	unsigned int i;
 	struct netdev_event_work *ndev_work =
-		kmalloc(sizeof(*ndev_work), GFP_KERNEL);
-
-	if (!ndev_work)
-		return NOTIFY_DONE;
+		kmalloc(sizeof(*ndev_work), GFP_KERNEL | __GFP_NOFAIL);
 
 	memcpy(ndev_work->cmds, cmds, sizeof(ndev_work->cmds));
 	for (i = 0; i < ARRAY_SIZE(ndev_work->cmds) && ndev_work->cmds[i].cb; i++) {
@@ -948,3 +945,8 @@ void __exit roce_gid_mgmt_cleanup(void)
 	 */
 	destroy_workqueue(gid_cache_wq);
 }
+
+void roce_flush_gid_cache_wq(void)
+{
+	flush_workqueue(gid_cache_wq);
+}
-- 
2.47.3



^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: [not-yet-signed PATCH] RDMA/core: flush gid_cache_wq WQ from disable_device()
  2025-12-11 13:24   ` [not-yet-signed PATCH] RDMA/core: flush gid_cache_wq WQ from disable_device() Tetsuo Handa
@ 2025-12-15 14:09     ` Tetsuo Handa
  2025-12-16 11:28       ` Tetsuo Handa
  0 siblings, 1 reply; 13+ messages in thread
From: Tetsuo Handa @ 2025-12-15 14:09 UTC (permalink / raw)
  To: Jason Gunthorpe, Leon Romanovsky, Majd Dibbiny, Doug Ledford,
	Yuval Shaia
  Cc: Bernard Metzler, OFED mailing list, Network Development

On 2025/12/11 22:24, Tetsuo Handa wrote:
> Since a reproducer for this bug is not available, I haven't verified
> whether this is a bug syzbot is currently reporting in
> https://syzkaller.appspot.com/bug?extid=881d65229ca4f9ae8c84 .
> But I'd like to add Reported-by: syzbot if netdevice_event_work_handler()
> is supposed to be called for releasing GID entry upon NETDEV_UNREGISTER
> event. Thus, please review this change.

I can observe using simple atomic_t counters that there are sometimes pending
netdevice_event() works as of immediately before clearing DEVICE_REGISTERED flag.
That is, clearing DEVICE_REGISTERED flag without flushing pending netdevice_event()
works results in failing to process some of netdev events.

I considered resolving DEVICE_REGISTERED flag inside netdevice_event() and then
flush pending netdevice_event() works after clearing DEVICE_REGISTERED flag (diff
is shown below). But I immediately got circular locking dependency problem by just
executing "rdma link add siw0 type siw netdev lo" command line. Therefore, I guess
that the reason RDMA code defers netdevice_event() handling to WQ context is to
avoid circular locking dependency problem. But I guess that due to lack of reliable
flushing mechanism when clearing DEVICE_REGISTERED flag, sometimes operations for
deleting GID entry are not invoked, and syzbot is reporting refcount leak...

 drivers/infiniband/core/core_priv.h     |    5 +++++
 drivers/infiniband/core/device.c        |   12 ++++++++++++
 drivers/infiniband/core/roce_gid_mgmt.c |   45 ++++++++++++++++++++++++++-------------------
 3 files changed, 43 insertions(+), 19 deletions(-)

diff --git a/drivers/infiniband/core/core_priv.h b/drivers/infiniband/core/core_priv.h
index 05102769a918..96ccfeb85547 100644
--- a/drivers/infiniband/core/core_priv.h
+++ b/drivers/infiniband/core/core_priv.h
@@ -99,6 +99,11 @@ void ib_enum_all_roce_netdevs(roce_netdev_filter filter,
 			      void *filter_cookie,
 			      roce_netdev_callback cb,
 			      void *cookie);
+extern struct workqueue_struct *gid_cache_wq;
+struct netdev_event_work_cmd;
+void roce_reserve_netdev_callback(struct ib_device *ib_dev, struct netdev_event_work_cmd *cmds,
+				  struct net_device *ndev);
+void ib_reserve_enum_all_roce_netdevs(struct netdev_event_work_cmd *cmds, struct net_device *ndev);
 
 typedef int (*nldev_callback)(struct ib_device *device,
 			      struct sk_buff *skb,
diff --git a/drivers/infiniband/core/device.c b/drivers/infiniband/core/device.c
index 13e8a1714bbd..1817a6d207d1 100644
--- a/drivers/infiniband/core/device.c
+++ b/drivers/infiniband/core/device.c
@@ -1303,6 +1303,7 @@ static void disable_device(struct ib_device *device)
 	down_write(&devices_rwsem);
 	xa_clear_mark(&devices, device->index, DEVICE_REGISTERED);
 	up_write(&devices_rwsem);
+	flush_workqueue(gid_cache_wq);
 
 	/*
 	 * Remove clients in LIFO order, see assign_client_id. This could be
@@ -2446,6 +2447,17 @@ void ib_enum_all_roce_netdevs(roce_netdev_filter filter,
 	up_read(&devices_rwsem);
 }
 
+void ib_reserve_enum_all_roce_netdevs(struct netdev_event_work_cmd *cmds, struct net_device *ndev)
+{
+	struct ib_device *dev;
+	unsigned long index;
+
+	down_read(&devices_rwsem);
+	xa_for_each_marked(&devices, index, dev, DEVICE_REGISTERED)
+		roce_reserve_netdev_callback(dev, cmds, ndev);
+	up_read(&devices_rwsem);
+}
+
 /*
  * ib_enum_all_devs - enumerate all ib_devices
  * @cb: Callback to call for each found ib_device
diff --git a/drivers/infiniband/core/roce_gid_mgmt.c b/drivers/infiniband/core/roce_gid_mgmt.c
index a9f2c6b1b29e..371f3bc564eb 100644
--- a/drivers/infiniband/core/roce_gid_mgmt.c
+++ b/drivers/infiniband/core/roce_gid_mgmt.c
@@ -42,7 +42,7 @@
 #include <rdma/ib_cache.h>
 #include <rdma/ib_addr.h>
 
-static struct workqueue_struct *gid_cache_wq;
+struct workqueue_struct *gid_cache_wq;
 
 enum gid_op_type {
 	GID_DEL = 0,
@@ -69,6 +69,12 @@ struct netdev_event_work {
 	struct netdev_event_work_cmd	cmds[ROCE_NETDEV_CALLBACK_SZ];
 };
 
+struct netdev_event_work2 {
+	struct work_struct		work;
+	struct ib_device		*ib_dev;
+	struct netdev_event_work_cmd	cmds[ROCE_NETDEV_CALLBACK_SZ];
+};
+
 static const struct {
 	bool (*is_supported)(const struct ib_device *device, u32 port_num);
 	enum ib_gid_type gid_type;
@@ -633,39 +639,41 @@ static void del_netdev_default_ips_join(struct ib_device *ib_dev, u32 port,
 	}
 }
 
-/* The following functions operate on all IB devices. netdevice_event and
- * addr_event execute ib_enum_all_roce_netdevs through a work.
+/* The following functions operate on all IB devices.
+ * netdevice_event executes ib_enum_roce_netdev through netdev_event_work2.
+ * addr_event executes ib_enum_all_roce_netdevs through update_gid_event_work.
  * ib_enum_all_roce_netdevs iterates through all IB devices.
  */
 
 static void netdevice_event_work_handler(struct work_struct *_work)
 {
-	struct netdev_event_work *work =
-		container_of(_work, struct netdev_event_work, work);
+	struct netdev_event_work2 *work =
+		container_of(_work, struct netdev_event_work2, work);
 	unsigned int i;
 
 	for (i = 0; i < ARRAY_SIZE(work->cmds) && work->cmds[i].cb; i++) {
-		ib_enum_all_roce_netdevs(work->cmds[i].filter,
-					 work->cmds[i].filter_ndev,
-					 work->cmds[i].cb,
-					 work->cmds[i].ndev);
+		ib_enum_roce_netdev(work->ib_dev,
+				    work->cmds[i].filter,
+				    work->cmds[i].filter_ndev,
+				    work->cmds[i].cb,
+				    work->cmds[i].ndev);
 		dev_put(work->cmds[i].ndev);
 		dev_put(work->cmds[i].filter_ndev);
 	}
 
+	ib_device_put(work->ib_dev); /* Acquired by roce_reserve_netdev_callback(). */
 	kfree(work);
 }
 
-static int netdevice_queue_work(struct netdev_event_work_cmd *cmds,
-				struct net_device *ndev)
+void roce_reserve_netdev_callback(struct ib_device *ib_dev, struct netdev_event_work_cmd *cmds,
+				  struct net_device *ndev)
 {
 	unsigned int i;
-	struct netdev_event_work *ndev_work =
-		kmalloc(sizeof(*ndev_work), GFP_KERNEL);
-
-	if (!ndev_work)
-		return NOTIFY_DONE;
+	struct netdev_event_work2 *ndev_work =
+		kmalloc(sizeof(*ndev_work), GFP_KERNEL | __GFP_NOFAIL);
 
+	refcount_inc(&ib_dev->refcount); /* Dropped by netdevice_event_work_handler(). */
+	ndev_work->ib_dev = ib_dev;
 	memcpy(ndev_work->cmds, cmds, sizeof(ndev_work->cmds));
 	for (i = 0; i < ARRAY_SIZE(ndev_work->cmds) && ndev_work->cmds[i].cb; i++) {
 		if (!ndev_work->cmds[i].ndev)
@@ -678,8 +686,6 @@ static int netdevice_queue_work(struct netdev_event_work_cmd *cmds,
 	INIT_WORK(&ndev_work->work, netdevice_event_work_handler);
 
 	queue_work(gid_cache_wq, &ndev_work->work);
-
-	return NOTIFY_DONE;
 }
 
 static const struct netdev_event_work_cmd add_cmd = {
@@ -820,7 +826,8 @@ static int netdevice_event(struct notifier_block *this, unsigned long event,
 		return NOTIFY_DONE;
 	}
 
-	return netdevice_queue_work(cmds, ndev);
+	ib_reserve_enum_all_roce_netdevs(cmds, ndev);
+	return NOTIFY_DONE;
 }
 
 static void update_gid_event_work_handler(struct work_struct *_work)


[   T1228] SoftiWARP attached
[   T1222] lo speed is unknown, defaulting to 1000
[   T1222] lo speed is unknown, defaulting to 1000
[   T1222] lo speed is unknown, defaulting to 1000

[   T1222] ======================================================
[   T1222] WARNING: possible circular locking dependency detected
[   T1222] 6.19.0-rc1-dirty #232 Not tainted
[   T1222] ------------------------------------------------------
[   T1222] rdma/1222 is trying to acquire lock:
[   T1222] ffffffffba281a28 (rtnl_mutex){+.+.}-{4:4}, at: ib_get_eth_speed+0x7a/0x360 [ib_core]
[   T1222] 
           but task is already holding lock:
[   T1222] ffff88d54bd34fa8 (&device->compat_devs_mutex){+.+.}-{4:4}, at: add_one_compat_dev+0x72/0x380 [ib_core]
[   T1222] 
           which lock already depends on the new lock.

[   T1222] 
           the existing dependency chain (in reverse order) is:
[   T1222] 
           -> #3 (&device->compat_devs_mutex){+.+.}-{4:4}:
[   T1222]        __lock_acquire+0x56d/0xbe0
[   T1222]        lock_acquire.part.0+0x78/0x1c0
[   T1222]        __mutex_lock+0xc7/0x10b0
[   T1222]        add_one_compat_dev+0x72/0x380 [ib_core]
[   T1222]        enable_device_and_get+0x1a4/0x200 [ib_core]
[   T1222]        ib_register_device+0xf3/0x260 [ib_core]
[   T1222]        siw_newlink+0xa4/0x140 [siw]
[   T1222]        nldev_newlink+0x1d9/0x300 [ib_core]
[   T1222]        rdma_nl_rcv_msg+0x12f/0x2f0 [ib_core]
[   T1222]        rdma_nl_rcv_skb.constprop.0.isra.0+0xb2/0x100 [ib_core]
[   T1222]        netlink_unicast+0x203/0x2e0
[   T1222]        netlink_sendmsg+0x1f8/0x420
[   T1222]        sock_sendmsg_nosec+0x81/0x90
[   T1222]        __sys_sendto+0x125/0x180
[   T1222]        __x64_sys_sendto+0x24/0x30
[   T1222]        do_syscall_64+0x98/0x3c0
[   T1222]        entry_SYSCALL_64_after_hwframe+0x76/0x7e
[   T1222] 
           -> #2 (rdma_nets_rwsem){.+.+}-{4:4}:
[   T1222]        __lock_acquire+0x56d/0xbe0
[   T1222]        lock_acquire.part.0+0x78/0x1c0
[   T1222]        down_read+0x31/0x150
[   T1222]        enable_device_and_get+0x147/0x200 [ib_core]
[   T1222]        ib_register_device+0xf3/0x260 [ib_core]
[   T1222]        siw_newlink+0xa4/0x140 [siw]
[   T1222]        nldev_newlink+0x1d9/0x300 [ib_core]
[   T1222]        rdma_nl_rcv_msg+0x12f/0x2f0 [ib_core]
[   T1222]        rdma_nl_rcv_skb.constprop.0.isra.0+0xb2/0x100 [ib_core]
[   T1222]        netlink_unicast+0x203/0x2e0
[   T1222]        netlink_sendmsg+0x1f8/0x420
[   T1222]        sock_sendmsg_nosec+0x81/0x90
[   T1222]        __sys_sendto+0x125/0x180
[   T1222]        __x64_sys_sendto+0x24/0x30
[   T1222]        do_syscall_64+0x98/0x3c0
[   T1222]        entry_SYSCALL_64_after_hwframe+0x76/0x7e
[   T1222] 
           -> #1 (devices_rwsem){++++}-{4:4}:
[   T1222]        __lock_acquire+0x56d/0xbe0
[   T1222]        lock_acquire.part.0+0x78/0x1c0
[   T1222]        down_read+0x31/0x150
[   T1222]        ib_reserve_enum_all_roce_netdevs+0x36/0xc0 [ib_core]
[   T1222]        netdevice_event+0x114/0x240 [ib_core]
[   T1222]        call_netdevice_register_net_notifiers+0x79/0x1b0
[   T1222]        register_netdevice_notifier+0x8e/0x130
[   T1222]        0xffffffffc08992a4
[   T1222]        0xffffffffc089918f
[   T1222]        do_one_initcall+0x70/0x380
[   T1222]        do_init_module+0x84/0x260
[   T1222]        init_module_from_file+0xd3/0xf0
[   T1222]        idempotent_init_module+0x11a/0x310
[   T1222]        __x64_sys_finit_module+0x71/0xe0
[   T1222]        do_syscall_64+0x98/0x3c0
[   T1222]        entry_SYSCALL_64_after_hwframe+0x76/0x7e
[   T1222] 
           -> #0 (rtnl_mutex){+.+.}-{4:4}:
[   T1222]        check_prev_add+0xe1/0xca0
[   T1222]        validate_chain+0x52c/0x7e0
[   T1222]        __lock_acquire+0x56d/0xbe0
[   T1222]        lock_acquire.part.0+0x78/0x1c0
[   T1222]        __mutex_lock+0xc7/0x10b0
[   T1222]        ib_get_eth_speed+0x7a/0x360 [ib_core]
[   T1222]        siw_query_port+0x4b/0x190 [siw]
[   T1222]        ib_setup_port_attrs+0x99/0x250 [ib_core]
[   T1222]        add_one_compat_dev+0x286/0x380 [ib_core]
[   T1222]        enable_device_and_get+0x1a4/0x200 [ib_core]
[   T1222]        ib_register_device+0xf3/0x260 [ib_core]
[   T1222]        siw_newlink+0xa4/0x140 [siw]
[   T1222]        nldev_newlink+0x1d9/0x300 [ib_core]
[   T1222]        rdma_nl_rcv_msg+0x12f/0x2f0 [ib_core]
[   T1222]        rdma_nl_rcv_skb.constprop.0.isra.0+0xb2/0x100 [ib_core]
[   T1222]        netlink_unicast+0x203/0x2e0
[   T1222]        netlink_sendmsg+0x1f8/0x420
[   T1222]        sock_sendmsg_nosec+0x81/0x90
[   T1222]        __sys_sendto+0x125/0x180
[   T1222]        __x64_sys_sendto+0x24/0x30
[   T1222]        do_syscall_64+0x98/0x3c0
[   T1222]        entry_SYSCALL_64_after_hwframe+0x76/0x7e
[   T1222] 
           other info that might help us debug this:

[   T1222] Chain exists of:
             rtnl_mutex --> rdma_nets_rwsem --> &device->compat_devs_mutex

[   T1222]  Possible unsafe locking scenario:

[   T1222]        CPU0                    CPU1
[   T1222]        ----                    ----
[   T1222]   lock(&device->compat_devs_mutex);
[   T1222]                                lock(rdma_nets_rwsem);
[   T1222]                                lock(&device->compat_devs_mutex);
[   T1222]   lock(rtnl_mutex);
[   T1222] 
            *** DEADLOCK ***

[   T1222] 5 locks held by rdma/1222:
[   T1222]  #0: ffffffffc0ae1b18 (&rdma_nl_types[idx].sem){.+.+}-{4:4}, at: rdma_nl_rcv_msg+0x9e/0x2f0 [ib_core]
[   T1222]  #1: ffffffffc0ae8a30 (link_ops_rwsem){++++}-{4:4}, at: nldev_newlink+0x278/0x300 [ib_core]
[   T1222]  #2: ffffffffc0ae3e50 (devices_rwsem){++++}-{4:4}, at: enable_device_and_get+0x5c/0x200 [ib_core]
[   T1222]  #3: ffffffffc0ae3c50 (rdma_nets_rwsem){.+.+}-{4:4}, at: enable_device_and_get+0x147/0x200 [ib_core]
[   T1222]  #4: ffff88d54bd34fa8 (&device->compat_devs_mutex){+.+.}-{4:4}, at: add_one_compat_dev+0x72/0x380 [ib_core]
[   T1222] 
           stack backtrace:
[   T1222] CPU: 5 UID: 0 PID: 1222 Comm: rdma Not tainted 6.19.0-rc1-dirty #232 PREEMPT(voluntary) 
[   T1222] Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 11/12/2020
[   T1222] Call Trace:
[   T1222]  <TASK>
[   T1222]  dump_stack_lvl+0x6e/0xa0
[   T1222]  print_circular_bug.cold+0x38/0x46
[   T1222]  check_noncircular+0x148/0x170
[   T1222]  check_prev_add+0xe1/0xca0
[   T1222]  ? is_bpf_text_address+0x6e/0x100
[   T1222]  ? kernel_text_address+0x120/0x130
[   T1222]  validate_chain+0x52c/0x7e0
[   T1222]  __lock_acquire+0x56d/0xbe0
[   T1222]  lock_acquire.part.0+0x78/0x1c0
[   T1222]  ? ib_get_eth_speed+0x7a/0x360 [ib_core]
[   T1222]  __mutex_lock+0xc7/0x10b0
[   T1222]  ? ib_get_eth_speed+0x7a/0x360 [ib_core]
[   T1222]  ? find_held_lock+0x2b/0x80
[   T1222]  ? ib_get_eth_speed+0x7a/0x360 [ib_core]
[   T1222]  ? ib_get_eth_speed+0x7a/0x360 [ib_core]
[   T1222]  ib_get_eth_speed+0x7a/0x360 [ib_core]
[   T1222]  ? netlink_sendmsg+0x1f8/0x420
[   T1222]  siw_query_port+0x4b/0x190 [siw]
[   T1222]  ib_setup_port_attrs+0x99/0x250 [ib_core]
[   T1222]  add_one_compat_dev+0x286/0x380 [ib_core]
[   T1222]  enable_device_and_get+0x1a4/0x200 [ib_core]
[   T1222]  ib_register_device+0xf3/0x260 [ib_core]
[   T1222]  siw_newlink+0xa4/0x140 [siw]
[   T1222]  nldev_newlink+0x1d9/0x300 [ib_core]
[   T1222]  rdma_nl_rcv_msg+0x12f/0x2f0 [ib_core]
[   T1222]  ? __lock_acquire+0x56d/0xbe0
[   T1222]  rdma_nl_rcv_skb.constprop.0.isra.0+0xb2/0x100 [ib_core]
[   T1222]  netlink_unicast+0x203/0x2e0
[   T1222]  netlink_sendmsg+0x1f8/0x420
[   T1222]  sock_sendmsg_nosec+0x81/0x90
[   T1222]  __sys_sendto+0x125/0x180
[   T1222]  __x64_sys_sendto+0x24/0x30
[   T1222]  do_syscall_64+0x98/0x3c0
[   T1222]  ? switch_fpu_return+0xd6/0x100
[   T1222]  ? do_syscall_64+0x16d/0x3c0
[   T1222]  ? lockdep_hardirqs_on_prepare.part.0+0x9b/0x140
[   T1222]  ? irqentry_exit+0x8c/0x5b0
[   T1222]  ? trace_hardirqs_off+0x44/0xa0
[   T1222]  entry_SYSCALL_64_after_hwframe+0x76/0x7e
[   T1222] RIP: 0033:0x7f38bc63d77e
[   T1222] Code: 4d 89 d8 e8 d4 bc 00 00 4c 8b 5d f8 41 8b 93 08 03 00 00 59 5e 48 83 f8 fc 74 11 c9 c3 0f 1f 80 00 00 00 00 48 8b 45 10 0f 05 <c9> c3 83 e2 39 83 fa 08 75 e7 e8 13 ff ff ff 0f 1f 00 f3 0f 1e fa
[   T1222] RSP: 002b:00007ffd972ef0b0 EFLAGS: 00000202 ORIG_RAX: 000000000000002c
[   T1222] RAX: ffffffffffffffda RBX: 00005612aac892d0 RCX: 00007f38bc63d77e
[   T1222] RDX: 000000000000002c RSI: 00005612aac882a0 RDI: 0000000000000004
[   T1222] RBP: 00007ffd972ef0c0 R08: 00007f38bc7d19a0 R09: 000000000000000c
[   T1222] R10: 0000000000000000 R11: 0000000000000202 R12: 00007ffd972ef380
[   T1222] R13: 00007ffd972ef3d8 R14: 00007ffd972f15ba R15: 0000000069401105
[   T1222]  </TASK>
[   T1222] lo speed is unknown, defaulting to 1000
[   T1222] lo speed is unknown, defaulting to 1000
[   T1222] lo speed is unknown, defaulting to 1000


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: [not-yet-signed PATCH] RDMA/core: flush gid_cache_wq WQ from disable_device()
  2025-12-15 14:09     ` Tetsuo Handa
@ 2025-12-16 11:28       ` Tetsuo Handa
  2025-12-16 13:29         ` Tetsuo Handa
  0 siblings, 1 reply; 13+ messages in thread
From: Tetsuo Handa @ 2025-12-16 11:28 UTC (permalink / raw)
  To: Leon Romanovsky, Majd Dibbiny, Doug Ledford, Jason Gunthorpe,
	Yuval Shaia
  Cc: Bernard Metzler, OFED mailing list, Network Development

Hello, Jason Gunthorpe.

Commit 0df91bb67334 ("RDMA/devices: Use xarray to store the client_data")
says

    Since xarray can store 'going_down' using a mark just entirely eliminate
    the struct ib_client_data and directly store the client_data value in the
    xarray. However this does require a special iterator as we must still
    iterate over any NULL client_data values.

and started using DEVICE_REGISTERED mark. But It seems to me that that commit
has missed that ib_enum_roce_netdev() from ib_enum_all_roce_netdevs() is called
asynchronously from WQ context. Due to that commit, ib_enum_roce_netdev() became
no longer being called as soon as DEVICE_REGISTERED is cleared in
ib_unregister_device(); I guess that that commit needed to wait for pending
work items in gid_cache_wq WQ to complete. What do you think?

On 2025/12/15 23:09, Tetsuo Handa wrote:
> On 2025/12/11 22:24, Tetsuo Handa wrote:
>> Since a reproducer for this bug is not available, I haven't verified
>> whether this is a bug syzbot is currently reporting in
>> https://syzkaller.appspot.com/bug?extid=881d65229ca4f9ae8c84 .
>> But I'd like to add Reported-by: syzbot if netdevice_event_work_handler()
>> is supposed to be called for releasing GID entry upon NETDEV_UNREGISTER
>> event. Thus, please review this change.
> 
> I can observe using simple atomic_t counters that there are sometimes pending
> netdevice_event() works as of immediately before clearing DEVICE_REGISTERED flag.
> That is, clearing DEVICE_REGISTERED flag without flushing pending netdevice_event()
> works results in failing to process some of netdev events.
> 
> I considered resolving DEVICE_REGISTERED flag inside netdevice_event() and then
> flush pending netdevice_event() works after clearing DEVICE_REGISTERED flag (diff
> is shown below). But I immediately got circular locking dependency problem by just
> executing "rdma link add siw0 type siw netdev lo" command line. Therefore, I guess
> that the reason RDMA code defers netdevice_event() handling to WQ context is to
> avoid circular locking dependency problem. But I guess that due to lack of reliable
> flushing mechanism when clearing DEVICE_REGISTERED flag, sometimes operations for
> deleting GID entry are not invoked, and syzbot is reporting refcount leak...

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [not-yet-signed PATCH] RDMA/core: flush gid_cache_wq WQ from disable_device()
  2025-12-16 11:28       ` Tetsuo Handa
@ 2025-12-16 13:29         ` Tetsuo Handa
  2025-12-16 14:05           ` Jason Gunthorpe
  0 siblings, 1 reply; 13+ messages in thread
From: Tetsuo Handa @ 2025-12-16 13:29 UTC (permalink / raw)
  To: Leon Romanovsky, Majd Dibbiny, Doug Ledford, Jason Gunthorpe,
	Yuval Shaia, Matan Barak
  Cc: Bernard Metzler, OFED mailing list, Network Development

Hmm, I misinterpreted that commit. Since ib_register_device() was doing

	down_write(&lists_rwsem);
	list_add_tail(&device->core_list, &device_list);
	up_write(&lists_rwsem);

, it was

	down_write(&lists_rwsem);
	list_del(&device->core_list);

in ib_unregister_device() that makes ib_enum_all_roce_netdevs() no longer
call ib_enum_roce_netdev().

Then, calling ib_enum_all_roce_netdevs() asynchronously was always racy
since commit 03db3a2d81e6 ("IB/core: Add RoCE GID table management") was added?

On 2025/12/16 20:28, Tetsuo Handa wrote:
> Hello, Jason Gunthorpe.
> 
> Commit 0df91bb67334 ("RDMA/devices: Use xarray to store the client_data")
> says
> 
>     Since xarray can store 'going_down' using a mark just entirely eliminate
>     the struct ib_client_data and directly store the client_data value in the
>     xarray. However this does require a special iterator as we must still
>     iterate over any NULL client_data values.
> 
> and started using DEVICE_REGISTERED mark. But It seems to me that that commit
> has missed that ib_enum_roce_netdev() from ib_enum_all_roce_netdevs() is called
> asynchronously from WQ context. Due to that commit, ib_enum_roce_netdev() became
> no longer being called as soon as DEVICE_REGISTERED is cleared in
> ib_unregister_device(); I guess that that commit needed to wait for pending
> work items in gid_cache_wq WQ to complete. What do you think?
> 
> On 2025/12/15 23:09, Tetsuo Handa wrote:
>> On 2025/12/11 22:24, Tetsuo Handa wrote:
>>> Since a reproducer for this bug is not available, I haven't verified
>>> whether this is a bug syzbot is currently reporting in
>>> https://syzkaller.appspot.com/bug?extid=881d65229ca4f9ae8c84 .
>>> But I'd like to add Reported-by: syzbot if netdevice_event_work_handler()
>>> is supposed to be called for releasing GID entry upon NETDEV_UNREGISTER
>>> event. Thus, please review this change.
>>
>> I can observe using simple atomic_t counters that there are sometimes pending
>> netdevice_event() works as of immediately before clearing DEVICE_REGISTERED flag.
>> That is, clearing DEVICE_REGISTERED flag without flushing pending netdevice_event()
>> works results in failing to process some of netdev events.
>>
>> I considered resolving DEVICE_REGISTERED flag inside netdevice_event() and then
>> flush pending netdevice_event() works after clearing DEVICE_REGISTERED flag (diff
>> is shown below). But I immediately got circular locking dependency problem by just
>> executing "rdma link add siw0 type siw netdev lo" command line. Therefore, I guess
>> that the reason RDMA code defers netdevice_event() handling to WQ context is to
>> avoid circular locking dependency problem. But I guess that due to lack of reliable
>> flushing mechanism when clearing DEVICE_REGISTERED flag, sometimes operations for
>> deleting GID entry are not invoked, and syzbot is reporting refcount leak...


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [not-yet-signed PATCH] RDMA/core: flush gid_cache_wq WQ from disable_device()
  2025-12-16 13:29         ` Tetsuo Handa
@ 2025-12-16 14:05           ` Jason Gunthorpe
  2025-12-16 14:38             ` [PATCH] " Tetsuo Handa
  0 siblings, 1 reply; 13+ messages in thread
From: Jason Gunthorpe @ 2025-12-16 14:05 UTC (permalink / raw)
  To: Tetsuo Handa
  Cc: Leon Romanovsky, Majd Dibbiny, Doug Ledford, Yuval Shaia,
	Matan Barak, Bernard Metzler, OFED mailing list,
	Network Development

On Tue, Dec 16, 2025 at 10:29:29PM +0900, Tetsuo Handa wrote:
> Hmm, I misinterpreted that commit. Since ib_register_device() was doing
> 
> 	down_write(&lists_rwsem);
> 	list_add_tail(&device->core_list, &device_list);
> 	up_write(&lists_rwsem);
> 
> , it was
> 
> 	down_write(&lists_rwsem);
> 	list_del(&device->core_list);
> 
> in ib_unregister_device() that makes ib_enum_all_roce_netdevs() no longer
> call ib_enum_roce_netdev().
> 
> Then, calling ib_enum_all_roce_netdevs() asynchronously was always racy
> since commit 03db3a2d81e6 ("IB/core: Add RoCE GID table management") was added?

Yes, probably, it may need to grab the registration lock in the WQ.

Jason

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH] RDMA/core: flush gid_cache_wq WQ from disable_device()
  2025-12-16 14:05           ` Jason Gunthorpe
@ 2025-12-16 14:38             ` Tetsuo Handa
  2025-12-18  9:53               ` Tetsuo Handa
  0 siblings, 1 reply; 13+ messages in thread
From: Tetsuo Handa @ 2025-12-16 14:38 UTC (permalink / raw)
  To: Jason Gunthorpe
  Cc: Leon Romanovsky, Majd Dibbiny, Doug Ledford, Yuval Shaia,
	Bernard Metzler, OFED mailing list, Network Development

syzbot is reporting a net_device refcount leak in RDMA code.
A debug printk() patch reported that ib_enum_roce_netdev() is called for
allocating GID entry but is not called for releasing GID entry.
This result suggests that something is preventing ib_enum_roce_netdev()
 from ib_enum_all_roce_netdevs() from netdevice_event_work_handler() from
being called when releasing GID entry.

Commit 03db3a2d81e6 ("IB/core: Add RoCE GID table management") introduced
ib_enum_all_roce_netdevs(), but calling this function asynchronously from
WQ context is racy. I can observe using simple atomic_t counters that there
are sometimes pending netdevice_event() works as of immediately before
clearing DEVICE_REGISTERED flag in disable_device() from
__ib_unregister_device(). If pending works contained ib_enum_roce_netdev()
call for releasing GID entry, this race can result in a net_device refcount
leak.

Therefore, flush pending works immediately before clearing
DEVICE_REGISTERED flag.

Also, since commit 8fe8bacb92f2 ("IB/core: Add ordered workqueue for RoCE
GID management") was intended to ensure that netdev events are processed
in the order netdevice_event() is called, failing to invoke corresponding
event handler due to memory allocation failure is as bad as processing
netdev events in parallel.

Therefore, add __GFP_NOFAIL when allocating memory for a work for netdev
events.

Reported-by: syzbot+881d65229ca4f9ae8c84@syzkaller.appspotmail.com
Closes: https://syzkaller.appspot.com/bug?extid=881d65229ca4f9ae8c84
Fixes: 03db3a2d81e6 ("IB/core: Add RoCE GID table management")
Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
---
I haven't confirmed that netdevice_event_work_handler() is called for
releasing GID entry.
But I'd like to try this patch in linux-next tree via my tree for testing.

 drivers/infiniband/core/core_priv.h     |  1 +
 drivers/infiniband/core/device.c        |  1 +
 drivers/infiniband/core/roce_gid_mgmt.c | 10 ++++++----
 3 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/drivers/infiniband/core/core_priv.h b/drivers/infiniband/core/core_priv.h
index 05102769a918..8355020bb98a 100644
--- a/drivers/infiniband/core/core_priv.h
+++ b/drivers/infiniband/core/core_priv.h
@@ -142,6 +142,7 @@ int ib_cache_gid_del_all_netdev_gids(struct ib_device *ib_dev, u32 port,
 
 int roce_gid_mgmt_init(void);
 void roce_gid_mgmt_cleanup(void);
+void roce_flush_gid_cache_wq(void);
 
 unsigned long roce_gid_type_mask_support(struct ib_device *ib_dev, u32 port);
 
diff --git a/drivers/infiniband/core/device.c b/drivers/infiniband/core/device.c
index 13e8a1714bbd..8638583a64f2 100644
--- a/drivers/infiniband/core/device.c
+++ b/drivers/infiniband/core/device.c
@@ -1300,6 +1300,7 @@ static void disable_device(struct ib_device *device)
 
 	WARN_ON(!refcount_read(&device->refcount));
 
+	roce_flush_gid_cache_wq();
 	down_write(&devices_rwsem);
 	xa_clear_mark(&devices, device->index, DEVICE_REGISTERED);
 	up_write(&devices_rwsem);
diff --git a/drivers/infiniband/core/roce_gid_mgmt.c b/drivers/infiniband/core/roce_gid_mgmt.c
index a9f2c6b1b29e..79982d448cd2 100644
--- a/drivers/infiniband/core/roce_gid_mgmt.c
+++ b/drivers/infiniband/core/roce_gid_mgmt.c
@@ -661,10 +661,7 @@ static int netdevice_queue_work(struct netdev_event_work_cmd *cmds,
 {
 	unsigned int i;
 	struct netdev_event_work *ndev_work =
-		kmalloc(sizeof(*ndev_work), GFP_KERNEL);
-
-	if (!ndev_work)
-		return NOTIFY_DONE;
+		kmalloc(sizeof(*ndev_work), GFP_KERNEL | __GFP_NOFAIL);
 
 	memcpy(ndev_work->cmds, cmds, sizeof(ndev_work->cmds));
 	for (i = 0; i < ARRAY_SIZE(ndev_work->cmds) && ndev_work->cmds[i].cb; i++) {
@@ -948,3 +945,8 @@ void __exit roce_gid_mgmt_cleanup(void)
 	 */
 	destroy_workqueue(gid_cache_wq);
 }
+
+void roce_flush_gid_cache_wq(void)
+{
+	flush_workqueue(gid_cache_wq);
+}
-- 
2.47.3



^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: [PATCH] RDMA/core: flush gid_cache_wq WQ from disable_device()
  2025-12-16 14:38             ` [PATCH] " Tetsuo Handa
@ 2025-12-18  9:53               ` Tetsuo Handa
  2025-12-19 15:09                 ` Tetsuo Handa
  0 siblings, 1 reply; 13+ messages in thread
From: Tetsuo Handa @ 2025-12-18  9:53 UTC (permalink / raw)
  To: Jason Gunthorpe
  Cc: Leon Romanovsky, Majd Dibbiny, Doug Ledford, Yuval Shaia,
	Bernard Metzler, OFED mailing list, Network Development

On 2025/12/16 23:38, Tetsuo Handa wrote:
> I haven't confirmed that netdevice_event_work_handler() is called for
> releasing GID entry.
> But I'd like to try this patch in linux-next tree via my tree for testing.

I tried this patch in linux-next, but unfortunately this patch did not help.
I guess that we need to _explicitly_ invoke operations for deleting GIDs
rather than counting on WQ context.

Can somebody contact Matan Barak (the author of "IB/core: Add RoCE GID table
management" commit) for how default GID is supposed to be deleted, for
mellanox.com address is no longer reachable? 


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] RDMA/core: flush gid_cache_wq WQ from disable_device()
  2025-12-18  9:53               ` Tetsuo Handa
@ 2025-12-19 15:09                 ` Tetsuo Handa
  2025-12-20  2:11                   ` [PATCH] RDMA/core: always drop device refcount in ib_del_sub_device_and_put() Tetsuo Handa
  0 siblings, 1 reply; 13+ messages in thread
From: Tetsuo Handa @ 2025-12-19 15:09 UTC (permalink / raw)
  To: Jason Gunthorpe, Leon Romanovsky, Majd Dibbiny, Doug Ledford,
	Yuval Shaia, Bernard Metzler
  Cc: OFED mailing list, Network Development

[-- Attachment #1: Type: text/plain, Size: 1905 bytes --]

syzbot finally found a reproducer for this bug.
When this reproducer is executed, disable_device() cannot return.
Can you find what is happening?


Showing all locks held in the system:
3 locks held by kworker/u512:1/13:
 #0: ffff88dc003d9d48 ((wq_completion)netns){+.+.}-{0:0}, at: process_one_work+0x4dd/0x560
 #1: ffffcc00c009fe40 (net_cleanup_work){+.+.}-{0:0}, at: process_one_work+0x1e2/0x560
 #2: ffffffffa027de70 (pernet_ops_rwsem){++++}-{4:4}, at: cleanup_net+0x51/0x3f0
3 locks held by kworker/u513:0/88:
 #0: ffff88dc2c853d48 ((wq_completion)ib-unreg-wq){+.+.}-{0:0}, at: process_one_work+0x4dd/0x560
 #1: ffffcc00c0f1fe40 ((work_completion)(&device->unregistration_work)){+.+.}-{0:0}, at: process_one_work+0x1e2/0x560
 #2: ffff88dc2bc56700 (&device->unregistration_lock){+.+.}-{4:4}, at: __ib_unregister_device+0xe4/0x180 [ib_core]
3 locks held by bash/1175:
 #0: ffff88dc02734420 (sb_writers#3){.+.+}-{0:0}, at: ksys_write+0x79/0xf0
 #1: ffffffff9ff9f220 (rcu_read_lock){....}-{1:3}, at: __handle_sysrq+0x44/0x120
 #2: ffffffff9ff9f220 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire.constprop.0+0x7/0x30

=============================================

[root@localhost ~]# cat /proc/13/stack
[<0>] msleep+0x1b/0x30
[<0>] netdev_wait_allrefs_any+0x15a/0x220
[<0>] netdev_run_todo+0x188/0x3c0
[<0>] default_device_exit_batch+0x170/0x1c0
[<0>] ops_undo_list+0x10d/0x3b0
[<0>] cleanup_net+0x20b/0x3f0
[<0>] process_one_work+0x223/0x560
[<0>] worker_thread+0x1cb/0x3a0
[<0>] kthread+0xff/0x240
[<0>] ret_from_fork+0x23b/0x280
[<0>] ret_from_fork_asm+0x1a/0x30
[root@localhost ~]# cat /proc/88/stack
[<0>] disable_device+0xb4/0x170 [ib_core]
[<0>] __ib_unregister_device+0x110/0x180 [ib_core]
[<0>] ib_unregister_work+0x19/0x30 [ib_core]
[<0>] process_one_work+0x223/0x560
[<0>] worker_thread+0x1cb/0x3a0
[<0>] kthread+0xff/0x240
[<0>] ret_from_fork+0x23b/0x280
[<0>] ret_from_fork_asm+0x1a/0x30

[-- Attachment #2: repro.c --]
[-- Type: text/plain, Size: 6535 bytes --]

#define _GNU_SOURCE
#include <sched.h>
#include <stdint.h>
#include <string.h>
#include <sys/syscall.h>
#include <unistd.h>

static void execute1(const int fd)
{
	//  sendmsg$RDMA_NLDEV_CMD_SET arguments: [
	//    fd: sock_nl_rdma (resource)
	//    msg: ptr[in, msghdr_netlink[netlink_msg[RDMA_NLDEV_SET, void,
	//    nldev_policy$SET]]] {
	//      msghdr_netlink[netlink_msg[RDMA_NLDEV_SET, void, nldev_policy$SET]] {
	//        addr: nil
	//        addrlen: len = 0x0 (4 bytes)
	//        pad = 0x0 (4 bytes)
	//        vec: ptr[in, iovec[in, netlink_msg[RDMA_NLDEV_SET, void,
	//        nldev_policy$SET]]] {
	//          iovec[in, netlink_msg[RDMA_NLDEV_SET, void, nldev_policy$SET]] {
	//            addr: ptr[inout, array[ANYUNION]] {
	//              array[ANYUNION] {
	//                union ANYUNION {
	//                  ANYBLOB: buffer: {24 00 00 00 1b 14 01 00 2a bd d4 44 d4
	//                  46 df 25 08 00 01 00 00 00 00 00 09 00 02} (length 0x1b)
	//                }
	//              }
	//            }
	//            len: len = 0x24 (8 bytes)
	//          }
	//        }
	//        vlen: const = 0x1 (8 bytes)
	//        ctrl: const = 0x0 (8 bytes)
	//        ctrllen: const = 0x0 (8 bytes)
	//        f: send_flags = 0x4040891 (4 bytes)
	//        pad = 0x0 (4 bytes)
	//      }
	//    }
	//    f: send_flags = 0x4180 (8 bytes)
	//  ]
	*(uint64_t*)0x200000000140 = 0;
	*(uint32_t*)0x200000000148 = 0;
	*(uint64_t*)0x200000000150 = 0x200000000200;
	*(uint64_t*)0x200000000200 = 0x2000000001c0;
	memcpy((void*)0x2000000001c0,
	       "\x24\x00\x00\x00\x1b\x14\x01\x00\x2a\xbd\xd4\x44\xd4\x46\xdf\x25\x08"
	       "\x00\x01\x00\x00\x00\x00\x00\x09\x00\x02",
	       27);
	*(uint64_t*)0x200000000208 = 0x24;
	*(uint64_t*)0x200000000158 = 1;
	*(uint64_t*)0x200000000160 = 0;
	*(uint64_t*)0x200000000168 = 0;
	*(uint32_t*)0x200000000170 = 0x4040891;
	syscall(__NR_sendmsg, /*fd=*/fd, /*msg=*/0x200000000140ul,
		/*f=MSG_NOSIGNAL|MSG_EOR|0x100*/ 0x4180ul);
}

static void execute2(const int fd)
{
	//  sendmsg$RDMA_NLDEV_CMD_NEWLINK arguments: [
	//    fd: sock_nl_rdma (resource)
	//    msg: ptr[in, msghdr_netlink[netlink_msg[RDMA_NLDEV_NEWLINK, void,
	//    nldev_policy$NEWLINK]]] {
	//      msghdr_netlink[netlink_msg[RDMA_NLDEV_NEWLINK, void,
	//      nldev_policy$NEWLINK]] {
	//        addr: nil
	//        addrlen: len = 0x0 (4 bytes)
	//        pad = 0x0 (4 bytes)
	//        vec: ptr[in, iovec[in, netlink_msg[RDMA_NLDEV_NEWLINK, void,
	//        nldev_policy$NEWLINK]]] {
	//          iovec[in, netlink_msg[RDMA_NLDEV_NEWLINK, void,
	//          nldev_policy$NEWLINK]] {
	//            addr: ptr[in, netlink_msg_t[const[RDMA_NLDEV_NEWLINK, int16],
	//            void, nldev_policy$NEWLINK]] {
	//              netlink_msg_t[const[RDMA_NLDEV_NEWLINK, int16], void,
	//              nldev_policy$NEWLINK] {
	//                len: len = 0x38 (4 bytes)
	//                type: const = 0x1403 (2 bytes)
	//                flags: netlink_msg_flags = 0x1 (2 bytes)
	//                seq: int32 = 0x70bd2d (4 bytes)
	//                pid: int32 = 0x25dffbfb (4 bytes)
	//                payload: buffer: {} (length 0x0)
	//                attrs: array[nldev_policy$NEWLINK] {
	//                  nldev_policy$NEWLINK {
	//                    RDMA_NLDEV_ATTR_DEV_NAME:
	//                    nlattr_t[const[RDMA_NLDEV_ATTR_DEV_NAME, int16],
	//                    string[nldev_name]] {
	//                      nla_len: offsetof = 0x9 (2 bytes)
	//                      nla_type: const = 0x2 (2 bytes)
	//                      payload: buffer: {73 79 7a 31 00} (length 0x5)
	//                      size: buffer: {} (length 0x0)
	//                      pad = 0x0 (3 bytes)
	//                    }
	//                    RDMA_NLDEV_ATTR_LINK_TYPE:
	//                    nlattr_t[const[RDMA_NLDEV_ATTR_LINK_TYPE, int16],
	//                    string[nldev_type]] {
	//                      nla_len: offsetof = 0x8 (2 bytes)
	//                      nla_type: const = 0x41 (2 bytes)
	//                      payload: buffer: {72 78 65 00} (length 0x4)
	//                      size: buffer: {} (length 0x0)
	//                    }
	//                    RDMA_NLDEV_ATTR_NDEV_NAME:
	//                    nlattr_t[const[RDMA_NLDEV_ATTR_NDEV_NAME, int16],
	//                    devname] {
	//                      nla_len: offsetof = 0x14 (2 bytes)
	//                      nla_type: const = 0x33 (2 bytes)
	//                      payload: buffer: {6c 6f 00 00 00 00 00 00 00 00 00 00
	//                      00 00 00 00} (length 0x10) size: buffer: {} (length
	//                      0x0)
	//                    }
	//                  }
	//                }
	//              }
	//            }
	//            len: len = 0x38 (8 bytes)
	//          }
	//        }
	//        vlen: const = 0x1 (8 bytes)
	//        ctrl: const = 0x0 (8 bytes)
	//        ctrllen: const = 0x0 (8 bytes)
	//        f: send_flags = 0x4000840 (4 bytes)
	//        pad = 0x0 (4 bytes)
	//      }
	//    }
	//    f: send_flags = 0x4000 (8 bytes)
	//  ]
	*(uint64_t*)0x200000000000 = 0;
	*(uint32_t*)0x200000000008 = 0;
	*(uint64_t*)0x200000000010 = 0x200000000140;
	*(uint64_t*)0x200000000140 = 0x200000000180;
	*(uint32_t*)0x200000000180 = 0x38;
	*(uint16_t*)0x200000000184 = 0x1403;
	*(uint16_t*)0x200000000186 = 1;
	*(uint32_t*)0x200000000188 = 0x70bd2d;
	*(uint32_t*)0x20000000018c = 0x25dffbfb;
	*(uint16_t*)0x200000000190 = 9;
	*(uint16_t*)0x200000000192 = 2;
	memcpy((void*)0x200000000194, "syz1\000", 5);
	*(uint16_t*)0x20000000019c = 8;
	*(uint16_t*)0x20000000019e = 0x41;
	memcpy((void*)0x2000000001a0, "rxe\000", 4);
	*(uint16_t*)0x2000000001a4 = 0x14;
	*(uint16_t*)0x2000000001a6 = 0x33;
	memcpy((void*)0x2000000001a8,
	       "lo\000\000\000\000\000\000\000\000\000\000\000\000\000\000", 16);
	*(uint64_t*)0x200000000148 = 0x38;
	*(uint64_t*)0x200000000018 = 1;
	*(uint64_t*)0x200000000020 = 0;
	*(uint64_t*)0x200000000028 = 0;
	*(uint32_t*)0x200000000030 = 0x4000840;
	syscall(__NR_sendmsg, /*fd=*/fd, /*msg=*/0x200000000000ul,
		/*f=MSG_NOSIGNAL*/ 0x4000ul);
}

int main(int argc, char *argv[])
{
	syscall(__NR_mmap, /*addr=*/0x200000000000ul, /*len=*/0x1000000ul,
		/*prot=PROT_WRITE|PROT_READ|PROT_EXEC*/ 7ul,
		/*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x32ul,
		/*fd=*/(intptr_t)-1, /*offset=*/0ul);
	if (unshare(CLONE_NEWNET))
		return 1;
	int fd = syscall(__NR_socket, /*domain=*/0x10ul, /*type=*/3ul, /*proto=*/0x14);
	if (fd == -1)
		return 1;
	execute1(fd);
	execute2(fd);
	execute1(fd);
	return 0;
}

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH] RDMA/core: always drop device refcount in ib_del_sub_device_and_put()
  2025-12-19 15:09                 ` Tetsuo Handa
@ 2025-12-20  2:11                   ` Tetsuo Handa
  2025-12-21  6:17                     ` Parav Pandit
  2025-12-21 11:45                     ` Leon Romanovsky
  0 siblings, 2 replies; 13+ messages in thread
From: Tetsuo Handa @ 2025-12-20  2:11 UTC (permalink / raw)
  To: Mark Zhang, Jason Gunthorpe, Leon Romanovsky
  Cc: OFED mailing list, Network Development, Majd Dibbiny,
	Doug Ledford, Yuval Shaia, Bernard Metzler

Since nldev_deldev() (introduced by commit 060c642b2ab8 ("RDMA/nldev: Add
support to add/delete a sub IB device through netlink") grabs a reference
using ib_device_get_by_index() before calling ib_del_sub_device_and_put(),
we need to drop that reference before returning -EOPNOTSUPP error.

Reported-by: syzbot+881d65229ca4f9ae8c84@syzkaller.appspotmail.com
Closes: https://syzkaller.appspot.com/bug?extid=881d65229ca4f9ae8c84
Fixes: bca51197620a ("RDMA/core: Support IB sub device with type "SMI"")
Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
---
The reproducer syzbot finally found was not for what I was investigating,
but this is a bug which I can reproduce and test using the reproducer.

drivers/infiniband/core/device.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/infiniband/core/device.c b/drivers/infiniband/core/device.c
index 13e8a1714bbd..1174ab7da629 100644
--- a/drivers/infiniband/core/device.c
+++ b/drivers/infiniband/core/device.c
@@ -2881,8 +2881,10 @@ int ib_del_sub_device_and_put(struct ib_device *sub)
 {
 	struct ib_device *parent = sub->parent;
 
-	if (!parent)
+	if (!parent) {
+		ib_device_put(sub);
 		return -EOPNOTSUPP;
+	}
 
 	mutex_lock(&parent->subdev_lock);
 	list_del(&sub->subdev_list);
-- 
2.47.3



^ permalink raw reply related	[flat|nested] 13+ messages in thread

* RE: [PATCH] RDMA/core: always drop device refcount in ib_del_sub_device_and_put()
  2025-12-20  2:11                   ` [PATCH] RDMA/core: always drop device refcount in ib_del_sub_device_and_put() Tetsuo Handa
@ 2025-12-21  6:17                     ` Parav Pandit
  2025-12-21 11:45                     ` Leon Romanovsky
  1 sibling, 0 replies; 13+ messages in thread
From: Parav Pandit @ 2025-12-21  6:17 UTC (permalink / raw)
  To: Tetsuo Handa, Mark Zhang, Jason Gunthorpe, Leon Romanovsky
  Cc: OFED mailing list, Network Development, Majd Dibbiny,
	Doug Ledford, Yuval Shaia, Bernard Metzler



> From: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
> Sent: 20 December 2025 07:42 AM
> 
> Since nldev_deldev() (introduced by commit 060c642b2ab8 ("RDMA/nldev: Add
> support to add/delete a sub IB device through netlink") grabs a reference
> using ib_device_get_by_index() before calling ib_del_sub_device_and_put(),
> we need to drop that reference before returning -EOPNOTSUPP error.
> 
> Reported-by: syzbot+881d65229ca4f9ae8c84@syzkaller.appspotmail.com
> Closes: https://syzkaller.appspot.com/bug?extid=881d65229ca4f9ae8c84
> Fixes: bca51197620a ("RDMA/core: Support IB sub device with type "SMI"")
> Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
> ---
> The reproducer syzbot finally found was not for what I was investigating,
> but this is a bug which I can reproduce and test using the reproducer.
> 
> drivers/infiniband/core/device.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/infiniband/core/device.c b/drivers/infiniband/core/device.c
> index 13e8a1714bbd..1174ab7da629 100644
> --- a/drivers/infiniband/core/device.c
> +++ b/drivers/infiniband/core/device.c
> @@ -2881,8 +2881,10 @@ int ib_del_sub_device_and_put(struct ib_device *sub)
>  {
>  	struct ib_device *parent = sub->parent;
> 
> -	if (!parent)
> +	if (!parent) {
> +		ib_device_put(sub);
>  		return -EOPNOTSUPP;
> +	}
> 
>  	mutex_lock(&parent->subdev_lock);
>  	list_del(&sub->subdev_list);
> --
> 2.47.3
> 
> 

Reviewed-by: Parav Pandit <parav@nvidia.com>

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] RDMA/core: always drop device refcount in ib_del_sub_device_and_put()
  2025-12-20  2:11                   ` [PATCH] RDMA/core: always drop device refcount in ib_del_sub_device_and_put() Tetsuo Handa
  2025-12-21  6:17                     ` Parav Pandit
@ 2025-12-21 11:45                     ` Leon Romanovsky
  1 sibling, 0 replies; 13+ messages in thread
From: Leon Romanovsky @ 2025-12-21 11:45 UTC (permalink / raw)
  To: Mark Zhang, Jason Gunthorpe, Tetsuo Handa
  Cc: OFED mailing list, Network Development, Majd Dibbiny,
	Doug Ledford, Yuval Shaia, Bernard Metzler


On Sat, 20 Dec 2025 11:11:33 +0900, Tetsuo Handa wrote:
> Since nldev_deldev() (introduced by commit 060c642b2ab8 ("RDMA/nldev: Add
> support to add/delete a sub IB device through netlink") grabs a reference
> using ib_device_get_by_index() before calling ib_del_sub_device_and_put(),
> we need to drop that reference before returning -EOPNOTSUPP error.
> 
> 

Applied, thanks!

[1/1] RDMA/core: always drop device refcount in ib_del_sub_device_and_put()
      https://git.kernel.org/rdma/rdma/c/fa3c411d21ebc2

Best regards,
-- 
Leon Romanovsky <leon@kernel.org>


^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2025-12-21 11:46 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-25 14:31 [rdma/siw] unregister_netdevice: waiting for bond0 to become free. Usage count = 3 Tetsuo Handa
2025-12-05 14:20 ` Tetsuo Handa
2025-12-11 13:24   ` [not-yet-signed PATCH] RDMA/core: flush gid_cache_wq WQ from disable_device() Tetsuo Handa
2025-12-15 14:09     ` Tetsuo Handa
2025-12-16 11:28       ` Tetsuo Handa
2025-12-16 13:29         ` Tetsuo Handa
2025-12-16 14:05           ` Jason Gunthorpe
2025-12-16 14:38             ` [PATCH] " Tetsuo Handa
2025-12-18  9:53               ` Tetsuo Handa
2025-12-19 15:09                 ` Tetsuo Handa
2025-12-20  2:11                   ` [PATCH] RDMA/core: always drop device refcount in ib_del_sub_device_and_put() Tetsuo Handa
2025-12-21  6:17                     ` Parav Pandit
2025-12-21 11:45                     ` Leon Romanovsky

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).