wg1 speed is unknown, defaulting to 1000
wg1 speed is unknown, defaulting to 1000
iwpm_register_pid: Unable to send a nlmsg (client = 2)
======================================================
WARNING: possible circular locking dependency detected
6.14.0-syzkaller-12456-gacc4d5ff0b61 #0 Not tainted
------------------------------------------------------
syz.3.887/8519 is trying to acquire lock:
ffff88805075c218 (sk_lock-AF_INET){+.+.}-{0:0}, at: lock_sock include/net/sock.h:1615 [inline]
ffff88805075c218 (sk_lock-AF_INET){+.+.}-{0:0}, at: sock_set_reuseaddr+0x17/0x60 net/core/sock.c:788

but task is already holding lock:
ffffffff8fd90348 (lock#8){+.+.}-{4:4}, at: cma_add_one+0x67a/0xdd0 drivers/infiniband/core/cma.c:5384

which lock already depends on the new lock.


the existing dependency chain (in reverse order) is:

-> #3 (lock#8){+.+.}-{4:4}:
       __mutex_lock_common kernel/locking/mutex.c:601 [inline]
       __mutex_lock+0x199/0xb90 kernel/locking/mutex.c:746
       cma_init+0x1d/0x150 drivers/infiniband/core/cma.c:5468
       do_one_initcall+0x120/0x6e0 init/main.c:1257
       do_initcall_level init/main.c:1319 [inline]
       do_initcalls init/main.c:1335 [inline]
       do_basic_setup init/main.c:1354 [inline]
       kernel_init_freeable+0x5c2/0x900 init/main.c:1567
       kernel_init+0x1c/0x2b0 init/main.c:1457
       ret_from_fork+0x45/0x80 arch/x86/kernel/process.c:153
       ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245

-> #2 (rtnl_mutex){+.+.}-{4:4}:
       __mutex_lock_common kernel/locking/mutex.c:601 [inline]
       __mutex_lock+0x199/0xb90 kernel/locking/mutex.c:746
       start_sync_thread+0x120/0x28b0 net/netfilter/ipvs/ip_vs_sync.c:1761
       do_ip_vs_set_ctl+0x451/0x11d0 net/netfilter/ipvs/ip_vs_ctl.c:2732
       nf_setsockopt+0x8a/0xf0 net/netfilter/nf_sockopt.c:101
       ip_setsockopt+0xcb/0xf0 net/ipv4/ip_sockglue.c:1424
       tcp_setsockopt+0xa4/0x100 net/ipv4/tcp.c:4077
       smc_setsockopt+0x1b3/0xa00 net/smc/af_smc.c:3081
       do_sock_setsockopt+0x221/0x470 net/socket.c:2296
       __sys_setsockopt+0x1a0/0x230 net/socket.c:2321
       __do_sys_setsockopt net/socket.c:2327 [inline]
       __se_sys_setsockopt net/socket.c:2324 [inline]
       __x64_sys_setsockopt+0xbd/0x160 net/socket.c:2324
       do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
       do_syscall_64+0xcd/0x260 arch/x86/entry/syscall_64.c:94
       entry_SYSCALL_64_after_hwframe+0x77/0x7f

-> #1 (&smc->clcsock_release_lock){+.+.}-{4:4}:
       __mutex_lock_common kernel/locking/mutex.c:601 [inline]
       __mutex_lock+0x199/0xb90 kernel/locking/mutex.c:746
       smc_switch_to_fallback+0x2d/0x9f0 net/smc/af_smc.c:903
       smc_sendmsg+0x13d/0x520 net/smc/af_smc.c:2781
       sock_sendmsg_nosec net/socket.c:712 [inline]
       __sock_sendmsg net/socket.c:727 [inline]
       __sys_sendto+0x495/0x510 net/socket.c:2180
       __do_sys_sendto net/socket.c:2187 [inline]
       __se_sys_sendto net/socket.c:2183 [inline]
       __x64_sys_sendto+0xe0/0x1c0 net/socket.c:2183
       do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
       do_syscall_64+0xcd/0x260 arch/x86/entry/syscall_64.c:94
       entry_SYSCALL_64_after_hwframe+0x77/0x7f

-> #0 (sk_lock-AF_INET){+.+.}-{0:0}:
       check_prev_add kernel/locking/lockdep.c:3166 [inline]
       check_prevs_add kernel/locking/lockdep.c:3285 [inline]
       validate_chain kernel/locking/lockdep.c:3909 [inline]
       __lock_acquire+0x1173/0x1ba0 kernel/locking/lockdep.c:5235
       lock_acquire kernel/locking/lockdep.c:5866 [inline]
       lock_acquire+0x179/0x350 kernel/locking/lockdep.c:5823
       lock_sock_nested+0x41/0xf0 net/core/sock.c:3697
       lock_sock include/net/sock.h:1615 [inline]
       sock_set_reuseaddr+0x17/0x60 net/core/sock.c:788
       siw_create_listen+0x9ea/0x1320 drivers/infiniband/sw/siw/siw_cm.c:1777
       iw_cm_listen+0x16f/0x1f0 drivers/infiniband/core/iwcm.c:587
       cma_iw_listen drivers/infiniband/core/cma.c:2698 [inline]
       rdma_listen+0x7ef/0xe30 drivers/infiniband/core/cma.c:3983
       cma_listen_on_dev+0x4dc/0x810 drivers/infiniband/core/cma.c:2757
       cma_add_one+0x790/0xdd0 drivers/infiniband/core/cma.c:5387
       add_client_context+0x3db/0x590 drivers/infiniband/core/device.c:720
       enable_device_and_get+0x1d4/0x3f0 drivers/infiniband/core/device.c:1331
       ib_register_device drivers/infiniband/core/device.c:1447 [inline]
       ib_register_device+0x87f/0xe00 drivers/infiniband/core/device.c:1393
       siw_device_register drivers/infiniband/sw/siw/siw_main.c:71 [inline]
       siw_newlink drivers/infiniband/sw/siw/siw_main.c:430 [inline]
       siw_newlink+0xb60/0xd70 drivers/infiniband/sw/siw/siw_main.c:412
       nldev_newlink+0x3a3/0x680 drivers/infiniband/core/nldev.c:1796
       rdma_nl_rcv_msg+0x387/0x6e0 drivers/infiniband/core/netlink.c:195
       rdma_nl_rcv_skb.constprop.0.isra.0+0x2e5/0x450 drivers/infiniband/core/netlink.c:239
       netlink_unicast_kernel net/netlink/af_netlink.c:1313 [inline]
       netlink_unicast+0x53a/0x7f0 net/netlink/af_netlink.c:1339
       netlink_sendmsg+0x8d1/0xdd0 net/netlink/af_netlink.c:1883
       sock_sendmsg_nosec net/socket.c:712 [inline]
       __sock_sendmsg net/socket.c:727 [inline]
       ____sys_sendmsg+0xa95/0xc70 net/socket.c:2566
       ___sys_sendmsg+0x134/0x1d0 net/socket.c:2620
       __sys_sendmsg+0x16d/0x220 net/socket.c:2652
       do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
       do_syscall_64+0xcd/0x260 arch/x86/entry/syscall_64.c:94
       entry_SYSCALL_64_after_hwframe+0x77/0x7f

other info that might help us debug this:

Chain exists of:
  sk_lock-AF_INET --> rtnl_mutex --> lock#8

 Possible unsafe locking scenario:

       CPU0                    CPU1
       ----                    ----
  lock(lock#8);
                               lock(rtnl_mutex);
                               lock(lock#8);
  lock(sk_lock-AF_INET);

 *** DEADLOCK ***

6 locks held by syz.3.887/8519:
 #0: ffffffff9aea9b98 (&rdma_nl_types[idx].sem){.+.+}-{4:4}, at: rdma_nl_rcv_msg+0x169/0x6e0 drivers/infiniband/core/netlink.c:164
 #1: ffffffff8fd77c50 (link_ops_rwsem){++++}-{4:4}, at: nldev_newlink+0x2e6/0x680 drivers/infiniband/core/nldev.c:1786
 #2: ffffffff8fd63c10 (devices_rwsem){++++}-{4:4}, at: enable_device_and_get+0x103/0x3f0 drivers/infiniband/core/device.c:1321
 #3: ffffffff8fd63ad0 (clients_rwsem){++++}-{4:4}, at: enable_device_and_get+0x162/0x3f0 drivers/infiniband/core/device.c:1329
 #4: ffff88805e6a05f0 (&device->client_data_rwsem){++++}-{4:4}, at: add_client_context+0x3a7/0x590 drivers/infiniband/core/device.c:718
 #5: ffffffff8fd90348 (lock#8){+.+.}-{4:4}, at: cma_add_one+0x67a/0xdd0 drivers/infiniband/core/cma.c:5384

stack backtrace:
CPU: 2 UID: 0 PID: 8519 Comm: syz.3.887 Not tainted 6.14.0-syzkaller-12456-gacc4d5ff0b61 #0 PREEMPT(full) 
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014
Call Trace:
 <TASK>
 __dump_stack lib/dump_stack.c:94 [inline]
 dump_stack_lvl+0x116/0x1f0 lib/dump_stack.c:120
 print_circular_bug+0x275/0x350 kernel/locking/lockdep.c:2079
 check_noncircular+0x14c/0x170 kernel/locking/lockdep.c:2211
 check_prev_add kernel/locking/lockdep.c:3166 [inline]
 check_prevs_add kernel/locking/lockdep.c:3285 [inline]
 validate_chain kernel/locking/lockdep.c:3909 [inline]
 __lock_acquire+0x1173/0x1ba0 kernel/locking/lockdep.c:5235
 lock_acquire kernel/locking/lockdep.c:5866 [inline]
 lock_acquire+0x179/0x350 kernel/locking/lockdep.c:5823
 lock_sock_nested+0x41/0xf0 net/core/sock.c:3697
 lock_sock include/net/sock.h:1615 [inline]
 sock_set_reuseaddr+0x17/0x60 net/core/sock.c:788
 siw_create_listen+0x9ea/0x1320 drivers/infiniband/sw/siw/siw_cm.c:1777
 iw_cm_listen+0x16f/0x1f0 drivers/infiniband/core/iwcm.c:587
 cma_iw_listen drivers/infiniband/core/cma.c:2698 [inline]
 rdma_listen+0x7ef/0xe30 drivers/infiniband/core/cma.c:3983
 cma_listen_on_dev+0x4dc/0x810 drivers/infiniband/core/cma.c:2757
 cma_add_one+0x790/0xdd0 drivers/infiniband/core/cma.c:5387
 add_client_context+0x3db/0x590 drivers/infiniband/core/device.c:720
 enable_device_and_get+0x1d4/0x3f0 drivers/infiniband/core/device.c:1331
 ib_register_device drivers/infiniband/core/device.c:1447 [inline]
 ib_register_device+0x87f/0xe00 drivers/infiniband/core/device.c:1393
 siw_device_register drivers/infiniband/sw/siw/siw_main.c:71 [inline]
 siw_newlink drivers/infiniband/sw/siw/siw_main.c:430 [inline]
 siw_newlink+0xb60/0xd70 drivers/infiniband/sw/siw/siw_main.c:412
 nldev_newlink+0x3a3/0x680 drivers/infiniband/core/nldev.c:1796
 rdma_nl_rcv_msg+0x387/0x6e0 drivers/infiniband/core/netlink.c:195
 rdma_nl_rcv_skb.constprop.0.isra.0+0x2e5/0x450 drivers/infiniband/core/netlink.c:239
 netlink_unicast_kernel net/netlink/af_netlink.c:1313 [inline]
 netlink_unicast+0x53a/0x7f0 net/netlink/af_netlink.c:1339
 netlink_sendmsg+0x8d1/0xdd0 net/netlink/af_netlink.c:1883
 sock_sendmsg_nosec net/socket.c:712 [inline]
 __sock_sendmsg net/socket.c:727 [inline]
 ____sys_sendmsg+0xa95/0xc70 net/socket.c:2566
 ___sys_sendmsg+0x134/0x1d0 net/socket.c:2620
 __sys_sendmsg+0x16d/0x220 net/socket.c:2652
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0xcd/0x260 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7fb03ab8d169
Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007fb03b954038 EFLAGS: 00000246 ORIG_RAX: 000000000000002e
RAX: ffffffffffffffda RBX: 00007fb03ada5fa0 RCX: 00007fb03ab8d169
RDX: 0000000020000000 RSI: 00002000000004c0 RDI: 0000000000000005
RBP: 00007fb03ac0e2a0 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 0000000000000000 R14: 00007fb03ada5fa0 R15: 00007fff174ffd88
 </TASK>
infiniband syz0: RDMA CMA: cma_listen_on_dev, error -98
wg1 speed is unknown, defaulting to 1000
wg1 speed is unknown, defaulting to 1000
wg1 speed is unknown, defaulting to 1000
wg1 speed is unknown, defaulting to 1000
wg1 speed is unknown, defaulting to 1000
wg1 speed is unknown, defaulting to 1000
wg1 speed is unknown, defaulting to 1000
wg1 speed is unknown, defaulting to 1000
wg1 speed is unknown, defaulting to 1000
wg1 speed is unknown, defaulting to 1000
wg1 speed is unknown, defaulting to 1000
wg1 speed is unknown, defaulting to 1000
wg1 speed is unknown, defaulting to 1000
wg1 speed is unknown, defaulting to 1000
wg1 speed is unknown, defaulting to 1000
wg1 speed is unknown, defaulting to 1000
wg1 speed is unknown, defaulting to 1000
wg1 speed is unknown, defaulting to 1000
wg1 speed is unknown, defaulting to 1000