iwpm_register_pid: Unable to send a nlmsg (client = 2) ====================================================== WARNING: possible circular locking dependency detected 5.4.0-rc5-syzkaller #0 Not tainted ------------------------------------------------------ syz-executor.4/8136 is trying to acquire lock: ffffffff89826ee0 (rtnl_mutex){+.+.}, at: rtnl_lock+0x12/0x20 net/core/rtnetlink.c:72 but task is already holding lock: ffffffff896d05a0 (lock#3){+.+.}, at: cma_add_one+0x583/0x890 drivers/infiniband/core/cma.c:4593 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #1 (lock#3){+.+.}: __mutex_lock_common kernel/locking/mutex.c:956 [inline] __mutex_lock+0x155/0x1410 kernel/locking/mutex.c:1103 mutex_lock_nested+0x16/0x20 kernel/locking/mutex.c:1118 cma_netdev_callback+0x92/0x380 drivers/infiniband/core/cma.c:4535 notifier_call_chain+0x8a/0x160 kernel/notifier.c:95 __raw_notifier_call_chain kernel/notifier.c:396 [inline] raw_notifier_call_chain+0x11/0x20 kernel/notifier.c:403 call_netdevice_notifiers_info+0x87/0xd0 net/core/dev.c:1893 call_netdevice_notifiers_extack net/core/dev.c:1905 [inline] call_netdevice_notifiers+0x67/0x90 net/core/dev.c:1919 bond_change_active_slave+0xbf9/0x1db0 drivers/net/bonding/bond_main.c:942 bond_select_active_slave+0x1ca/0x940 drivers/net/bonding/bond_main.c:984 bond_enslave+0x1d26/0x45c0 drivers/net/bonding/bond_main.c:1821 do_set_master+0x18a/0x210 net/core/rtnetlink.c:2426 __rtnl_newlink+0xf0c/0x1420 net/core/rtnetlink.c:3295 rtnl_newlink+0x61/0x90 net/core/rtnetlink.c:3326 rtnetlink_rcv_msg+0x34f/0x8f0 net/core/rtnetlink.c:5387 netlink_rcv_skb+0x13c/0x380 net/netlink/af_netlink.c:2477 rtnetlink_rcv+0x10/0x20 net/core/rtnetlink.c:5405 netlink_unicast_kernel net/netlink/af_netlink.c:1302 [inline] netlink_unicast+0x43b/0x640 net/netlink/af_netlink.c:1328 netlink_sendmsg+0x74b/0xc00 net/netlink/af_netlink.c:1917 sock_sendmsg_nosec net/socket.c:637 [inline] sock_sendmsg+0xb5/0xf0 net/socket.c:657 ___sys_sendmsg+0x647/0x950 net/socket.c:2311 __sys_sendmsg+0xd9/0x180 net/socket.c:2356 __do_sys_sendmsg net/socket.c:2365 [inline] __se_sys_sendmsg net/socket.c:2363 [inline] __x64_sys_sendmsg+0x73/0xb0 net/socket.c:2363 do_syscall_64+0xca/0x5d0 arch/x86/entry/common.c:290 entry_SYSCALL_64_after_hwframe+0x49/0xbe -> #0 (rtnl_mutex){+.+.}: check_prev_add kernel/locking/lockdep.c:2476 [inline] check_prevs_add kernel/locking/lockdep.c:2581 [inline] validate_chain kernel/locking/lockdep.c:2971 [inline] __lock_acquire+0x2899/0x4ef0 kernel/locking/lockdep.c:3955 lock_acquire+0x194/0x410 kernel/locking/lockdep.c:4487 __mutex_lock_common kernel/locking/mutex.c:956 [inline] __mutex_lock+0x155/0x1410 kernel/locking/mutex.c:1103 mutex_lock_nested+0x16/0x20 kernel/locking/mutex.c:1118 rtnl_lock+0x12/0x20 net/core/rtnetlink.c:72 siw_create_listen+0x246/0xa10 drivers/infiniband/sw/siw/siw_cm.c:1977 iw_cm_listen+0x10f/0x180 drivers/infiniband/core/iwcm.c:582 cma_iw_listen drivers/infiniband/core/cma.c:2448 [inline] rdma_listen+0x521/0x7f0 drivers/infiniband/core/cma.c:3555 cma_listen_on_dev+0x4df/0x620 drivers/infiniband/core/cma.c:2498 cma_add_one+0x636/0x890 drivers/infiniband/core/cma.c:4596 add_client_context+0x30d/0x3c0 drivers/infiniband/core/device.c:683 enable_device_and_get+0x1bf/0x360 drivers/infiniband/core/device.c:1306 ib_register_device+0x88b/0xd10 drivers/infiniband/core/device.c:1370 siw_device_register drivers/infiniband/sw/siw/siw_main.c:69 [inline] siw_newlink+0xb89/0xf20 drivers/infiniband/sw/siw/siw_main.c:576 nldev_newlink+0x21d/0x3c0 drivers/infiniband/core/nldev.c:1492 rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:195 [inline] rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline] rdma_nl_rcv+0x49c/0x8c0 drivers/infiniband/core/netlink.c:259 netlink_unicast_kernel net/netlink/af_netlink.c:1302 [inline] netlink_unicast+0x43b/0x640 net/netlink/af_netlink.c:1328 netlink_sendmsg+0x74b/0xc00 net/netlink/af_netlink.c:1917 sock_sendmsg_nosec net/socket.c:637 [inline] sock_sendmsg+0xb5/0xf0 net/socket.c:657 ___sys_sendmsg+0x647/0x950 net/socket.c:2311 __sys_sendmsg+0xd9/0x180 net/socket.c:2356 __do_sys_sendmsg net/socket.c:2365 [inline] __se_sys_sendmsg net/socket.c:2363 [inline] __x64_sys_sendmsg+0x73/0xb0 net/socket.c:2363 do_syscall_64+0xca/0x5d0 arch/x86/entry/common.c:290 entry_SYSCALL_64_after_hwframe+0x49/0xbe other info that might help us debug this: Possible unsafe locking scenario: CPU0 CPU1 ---- ---- lock(lock#3); lock(rtnl_mutex); lock(lock#3); lock(rtnl_mutex); *** DEADLOCK *** 6 locks held by syz-executor.4/8136: #0: ffffffff8b443000 (&rdma_nl_types[idx].sem){.+.+}, at: rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:164 [inline] #0: ffffffff8b443000 (&rdma_nl_types[idx].sem){.+.+}, at: rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline] #0: ffffffff8b443000 (&rdma_nl_types[idx].sem){.+.+}, at: rdma_nl_rcv+0x35c/0x8c0 drivers/infiniband/core/netlink.c:259 #1: ffffffff896ca3e8 (link_ops_rwsem){++++}, at: nldev_newlink+0x1e4/0x3c0 drivers/infiniband/core/nldev.c:1482 #2: ffffffff896bf3a8 (devices_rwsem){++++}, at: enable_device_and_get+0x115/0x360 drivers/infiniband/core/device.c:1296 #3: ffffffff896bf268 (clients_rwsem){++++}, at: enable_device_and_get+0x163/0x360 drivers/infiniband/core/device.c:1304 #4: ffff8880988e64a0 (&device->client_data_rwsem){++++}, at: add_client_context+0x2e0/0x3c0 drivers/infiniband/core/device.c:681 #5: ffffffff896d05a0 (lock#3){+.+.}, at: cma_add_one+0x583/0x890 drivers/infiniband/core/cma.c:4593 stack backtrace: CPU: 1 PID: 8136 Comm: syz-executor.4 Not tainted 5.4.0-rc5-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0x113/0x167 lib/dump_stack.c:113 print_circular_bug.isra.39.cold.58+0x15a/0x169 kernel/locking/lockdep.c:1685 check_noncircular+0x349/0x400 kernel/locking/lockdep.c:1809 check_prev_add kernel/locking/lockdep.c:2476 [inline] check_prevs_add kernel/locking/lockdep.c:2581 [inline] validate_chain kernel/locking/lockdep.c:2971 [inline] __lock_acquire+0x2899/0x4ef0 kernel/locking/lockdep.c:3955 lock_acquire+0x194/0x410 kernel/locking/lockdep.c:4487 __mutex_lock_common kernel/locking/mutex.c:956 [inline] __mutex_lock+0x155/0x1410 kernel/locking/mutex.c:1103 mutex_lock_nested+0x16/0x20 kernel/locking/mutex.c:1118 rtnl_lock+0x12/0x20 net/core/rtnetlink.c:72 siw_create_listen+0x246/0xa10 drivers/infiniband/sw/siw/siw_cm.c:1977 iw_cm_listen+0x10f/0x180 drivers/infiniband/core/iwcm.c:582 cma_iw_listen drivers/infiniband/core/cma.c:2448 [inline] rdma_listen+0x521/0x7f0 drivers/infiniband/core/cma.c:3555 cma_listen_on_dev+0x4df/0x620 drivers/infiniband/core/cma.c:2498 cma_add_one+0x636/0x890 drivers/infiniband/core/cma.c:4596 add_client_context+0x30d/0x3c0 drivers/infiniband/core/device.c:683 enable_device_and_get+0x1bf/0x360 drivers/infiniband/core/device.c:1306 ib_register_device+0x88b/0xd10 drivers/infiniband/core/device.c:1370 siw_device_register drivers/infiniband/sw/siw/siw_main.c:69 [inline] siw_newlink+0xb89/0xf20 drivers/infiniband/sw/siw/siw_main.c:576 nldev_newlink+0x21d/0x3c0 drivers/infiniband/core/nldev.c:1492 rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:195 [inline] rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline] rdma_nl_rcv+0x49c/0x8c0 drivers/infiniband/core/netlink.c:259 netlink_unicast_kernel net/netlink/af_netlink.c:1302 [inline] netlink_unicast+0x43b/0x640 net/netlink/af_netlink.c:1328 netlink_sendmsg+0x74b/0xc00 net/netlink/af_netlink.c:1917 sock_sendmsg_nosec net/socket.c:637 [inline] sock_sendmsg+0xb5/0xf0 net/socket.c:657 ___sys_sendmsg+0x647/0x950 net/socket.c:2311 __sys_sendmsg+0xd9/0x180 net/socket.c:2356 __do_sys_sendmsg net/socket.c:2365 [inline] __se_sys_sendmsg net/socket.c:2363 [inline] __x64_sys_sendmsg+0x73/0xb0 net/socket.c:2363 do_syscall_64+0xca/0x5d0 arch/x86/entry/common.c:290 entry_SYSCALL_64_after_hwframe+0x49/0xbe RIP: 0033:0x45c4a9 Code: ad b6 fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 0f 83 7b b6 fb ff c3 66 2e 0f 1f 84 00 00 00 00 RSP: 002b:00007f0d757d7c78 EFLAGS: 00000246 ORIG_RAX: 000000000000002e RAX: ffffffffffffffda RBX: 00007f0d757d86d4 RCX: 000000000045c4a9 RDX: 0000000000000000 RSI: 00000000200031c0 RDI: 0000000000000005 RBP: 000000000076bf20 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 00000000ffffffff R13: 00000000000009a3 R14: 00000000004d5798 R15: 000000000076bf2c infiniband syz2: RDMA CMA: cma_listen_on_dev, error -22