lo speed is unknown, defaulting to 1000 iwpm_register_pid: Unable to send a nlmsg (client = 2) infiniband syz0: RDMA CMA: cma_listen_on_dev, error -98 lo speed is unknown, defaulting to 1000 ====================================================== WARNING: possible circular locking dependency detected 6.10.0-rc3-syzkaller #0 Not tainted ------------------------------------------------------ syz.2.15/4604 is trying to acquire lock: ffffffff843acc38 (rtnl_mutex){+.+.}-{4:4}, at: ip_mroute_setsockopt+0xa3/0x560 net/ipv4/ipmr.c:1369 but task is already holding lock: ffff888114eb8a48 (&smc->clcsock_release_lock){+.+.}-{4:4}, at: smc_setsockopt+0xcf/0x360 net/smc/af_smc.c:3064 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #3 (&smc->clcsock_release_lock){+.+.}-{4:4}: __mutex_lock_common kernel/locking/mutex.c:608 [inline] __mutex_lock+0x99/0x9a0 kernel/locking/mutex.c:752 smc_switch_to_fallback+0x1f/0x330 net/smc/af_smc.c:902 smc_sendmsg+0x67/0x180 net/smc/af_smc.c:2779 sock_sendmsg_nosec net/socket.c:730 [inline] __sock_sendmsg+0x8e/0xb0 net/socket.c:745 __sys_sendto+0x284/0x2e0 net/socket.c:2192 __do_sys_sendto net/socket.c:2204 [inline] __se_sys_sendto net/socket.c:2200 [inline] __x64_sys_sendto+0x21/0x30 net/socket.c:2200 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xa0/0x1b0 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f -> #2 (sk_lock-AF_INET){+.+.}-{0:0}: lock_sock_nested net/core/sock.c:3543 [inline] lock_sock include/net/sock.h:1602 [inline] sock_set_reuseaddr+0x30/0x80 net/core/sock.c:782 siw_create_listen+0x77/0x590 drivers/infiniband/sw/siw/siw_cm.c:1776 iw_cm_listen+0x80/0xc0 drivers/infiniband/core/iwcm.c:582 cma_iw_listen drivers/infiniband/core/cma.c:2668 [inline] rdma_listen+0x384/0x420 drivers/infiniband/core/cma.c:3953 cma_listen_on_dev+0x16d/0x210 drivers/infiniband/core/cma.c:2727 cma_add_one+0x21d/0x340 drivers/infiniband/core/cma.c:5357 add_client_context+0x173/0x280 drivers/infiniband/core/device.c:721 enable_device_and_get+0xba/0x1c0 drivers/infiniband/core/device.c:1332 ib_register_device+0x684/0x740 drivers/infiniband/core/device.c:1420 siw_device_register drivers/infiniband/sw/siw/siw_main.c:72 [inline] siw_newlink+0x3a0/0x430 drivers/infiniband/sw/siw/siw_main.c:488 nldev_newlink+0x26f/0x2f0 drivers/infiniband/core/nldev.c:1778 rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline] rdma_nl_rcv+0x266/0x310 drivers/infiniband/core/netlink.c:259 netlink_unicast_kernel net/netlink/af_netlink.c:1331 [inline] netlink_unicast+0x245/0x330 net/netlink/af_netlink.c:1357 netlink_sendmsg+0x34d/0x3e0 net/netlink/af_netlink.c:1901 sock_sendmsg_nosec net/socket.c:730 [inline] __sock_sendmsg+0x8e/0xb0 net/socket.c:745 ____sys_sendmsg+0x1a7/0x200 net/socket.c:2585 ___sys_sendmsg+0x28f/0x2d0 net/socket.c:2639 __sys_sendmsg net/socket.c:2668 [inline] __do_sys_sendmsg net/socket.c:2677 [inline] __se_sys_sendmsg+0xf7/0x140 net/socket.c:2675 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xa0/0x1b0 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f -> #1 (lock#6){+.+.}-{4:4}: __mutex_lock_common kernel/locking/mutex.c:608 [inline] __mutex_lock+0x99/0x9a0 kernel/locking/mutex.c:752 cma_init+0x18/0x100 drivers/infiniband/core/cma.c:5438 do_one_initcall+0x134/0x320 init/main.c:1267 do_initcall_level+0x92/0x100 init/main.c:1329 do_initcalls+0x3a/0x70 init/main.c:1345 kernel_init_freeable+0x182/0x1f0 init/main.c:1578 kernel_init+0x15/0x190 init/main.c:1467 ret_from_fork+0x32/0x40 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244 -> #0 (rtnl_mutex){+.+.}-{4:4}: check_prev_add kernel/locking/lockdep.c:3134 [inline] check_prevs_add kernel/locking/lockdep.c:3253 [inline] validate_chain kernel/locking/lockdep.c:3869 [inline] __lock_acquire+0x1245/0x24d0 kernel/locking/lockdep.c:5137 lock_acquire+0xeb/0x270 kernel/locking/lockdep.c:5754 __mutex_lock_common kernel/locking/mutex.c:608 [inline] __mutex_lock+0x99/0x9a0 kernel/locking/mutex.c:752 ip_mroute_setsockopt+0xa3/0x560 net/ipv4/ipmr.c:1369 do_ip_setsockopt+0x523/0x10c0 net/ipv4/ip_sockglue.c:948 ip_setsockopt+0x39/0x80 net/ipv4/ip_sockglue.c:1417 smc_setsockopt+0x109/0x360 net/smc/af_smc.c:3072 do_sock_setsockopt net/socket.c:2312 [inline] __sys_setsockopt+0xef/0x110 net/socket.c:2335 __do_sys_setsockopt net/socket.c:2344 [inline] __se_sys_setsockopt net/socket.c:2341 [inline] __x64_sys_setsockopt+0x1c/0x30 net/socket.c:2341 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xa0/0x1b0 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f other info that might help us debug this: Chain exists of: rtnl_mutex --> sk_lock-AF_INET --> &smc->clcsock_release_lock Possible unsafe locking scenario: CPU0 CPU1 ---- ---- lock(&smc->clcsock_release_lock); lock(sk_lock-AF_INET); lock(&smc->clcsock_release_lock); lock(rtnl_mutex); *** DEADLOCK *** 1 lock held by syz.2.15/4604: #0: ffff888114eb8a48 (&smc->clcsock_release_lock){+.+.}-{4:4}, at: smc_setsockopt+0xcf/0x360 net/smc/af_smc.c:3064 stack backtrace: CPU: 0 PID: 4604 Comm: syz.2.15 Not tainted 6.10.0-rc3-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024 Call Trace: __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0xa3/0x100 lib/dump_stack.c:114 check_noncircular+0x119/0x140 kernel/locking/lockdep.c:2187 check_prev_add kernel/locking/lockdep.c:3134 [inline] check_prevs_add kernel/locking/lockdep.c:3253 [inline] validate_chain kernel/locking/lockdep.c:3869 [inline] __lock_acquire+0x1245/0x24d0 kernel/locking/lockdep.c:5137 lock_acquire+0xeb/0x270 kernel/locking/lockdep.c:5754 __mutex_lock_common kernel/locking/mutex.c:608 [inline] __mutex_lock+0x99/0x9a0 kernel/locking/mutex.c:752 ip_mroute_setsockopt+0xa3/0x560 net/ipv4/ipmr.c:1369 do_ip_setsockopt+0x523/0x10c0 net/ipv4/ip_sockglue.c:948 ip_setsockopt+0x39/0x80 net/ipv4/ip_sockglue.c:1417 smc_setsockopt+0x109/0x360 net/smc/af_smc.c:3072 do_sock_setsockopt net/socket.c:2312 [inline] __sys_setsockopt+0xef/0x110 net/socket.c:2335 __do_sys_setsockopt net/socket.c:2344 [inline] __se_sys_setsockopt net/socket.c:2341 [inline] __x64_sys_setsockopt+0x1c/0x30 net/socket.c:2341 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xa0/0x1b0 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f088ff7e819 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:00007f0890dcb038 EFLAGS: 00000246 ORIG_RAX: 0000000000000036 RAX: ffffffffffffffda RBX: 00007f0890135fa0 RCX: 00007f088ff7e819 RDX: 00000000000000d2 RSI: 0000000000000000 RDI: 0000000000000005 RBP: 00007f088fff175e R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 0000000000000000 R14: 00007f0890135fa0 R15: 00007ffd0efb4158 syz.2.15 (4604) used greatest stack depth: 10752 bytes left