possible deadlock in rds_trans_get_preferred

Status: upstream: reported C repro on 2026/10/18 19:14
Subsystems: rdma
Labels: prio:high
[Documentation on labels]
Reported-by: syzbot+ccdb5058c3df2d94811c@syzkaller.appspotmail.com
First crash: 4d04h, last: 12m
▶ ▼ ✨ AI Jobs (2)
ID Workflow Result Correct Bug Created Started Finished Revision
0611311d repro-c Reproduced: ✅ ❓ possible deadlock in rds_trans_get_preferred 2026/10/17 02:10 2026/10/17 02:10 2026/10/17 03:45 432c0077
4d2401b1 assessment-security DenialOfService: ❌ Exploitable: ❌ FilesystemTrigger: ❌ NetworkTrigger: ✅ PeripheralTrigger: ❌ RemoteTrigger: ✅ Unprivileged: ✅ UserNamespace: ✅ VMGuestTrigger: ❌ VMHostTrigger: ❌ ❓ possible deadlock in rds_trans_get_preferred 2026/10/16 00:02 2026/10/16 00:02 2026/10/16 01:03 3f2522c6
▶ ▼ Discussions (1)
Title Replies (including bot) Last reply
[syzbot] [rdma?] possible deadlock in rds_trans_get_preferred 0 (1) 2026/10/18 19:14
▶ ▼ Similar bugs (3)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-6.6 possible deadlock in rds_trans_get_preferred 4 3 2d07h 2d22h 0/2 upstream: reported on 2026/10/16 00:31
linux-6.1 possible deadlock in rds_trans_get_preferred 4 syz 19 7h33m 3d11h 0/3 upstream: reported syz repro on 2026/10/15 11:30
linux-5.15 possible deadlock in rds_trans_get_preferred 4 syz 3 6h19m 7h32m 0/3 upstream: reported syz repro on 2026/10/18 15:42
▶ ▼ Last patch testing requests (1)
Created Duration User Patch Repo Result
2026/10/17 03:45 13m retest repro git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 70dd4ee72eb2d5793c62e71c14e3aba78e5a4e56 report job log log

Sample crash report:
======================================================
WARNING: possible circular locking dependency detected
syzkaller #0 Not tainted
------------------------------------------------------
kworker/2:3/5905 is trying to acquire lock:
ffffffff9205e888 (rds_trans_sem){++++}-{4:4}, at: rds_trans_get_preferred+0xf7/0x2c0 net/rds/transport.c:100

but task is already holding lock:
ffff888014aed420 (&id_priv->handler_mutex/1){+.+.}-{4:4}, at: cma_ib_req_handler+0x16ff/0x5700 drivers/infiniband/core/cma.c:2450

which lock already depends on the new lock.


the existing dependency chain (in reverse order) is:

-> #2 (&id_priv->handler_mutex/1){+.+.}-{4:4}:
       lock_acquire kernel/locking/lockdep.c:5942 [inline]
       lock_acquire+0x1d1/0x380 kernel/locking/lockdep.c:5899
       __mutex_lock_common kernel/locking/mutex.c:646 [inline]
       __mutex_lock+0x1a4/0x1bd0 kernel/locking/mutex.c:821
       cma_ib_req_handler+0x16ff/0x5700 drivers/infiniband/core/cma.c:2450
       cm_process_work+0x46/0x440 drivers/infiniband/core/cm.c:1869
       cm_queue_work_unlock+0x5d/0x250 drivers/infiniband/core/cm.c:933
       cm_req_handler drivers/infiniband/core/cm.c:2235 [inline]
       cm_work_handler+0x638d/0xc860 drivers/infiniband/core/cm.c:3849
       process_one_work+0xac7/0x1b10 kernel/workqueue.c:3396
       process_scheduled_works kernel/workqueue.c:3479 [inline]
       worker_thread+0x5ef/0xe50 kernel/workqueue.c:3560
       kthread+0x373/0x450 kernel/kthread.c:436
       ret_from_fork+0x730/0xd60 arch/x86/kernel/process.c:158
       ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245

-> #1 (&id_priv->handler_mutex){+.+.}-{4:4}:
       lock_acquire kernel/locking/lockdep.c:5942 [inline]
       lock_acquire+0x1d1/0x380 kernel/locking/lockdep.c:5899
       __mutex_lock_common kernel/locking/mutex.c:646 [inline]
       __mutex_lock+0x1a4/0x1bd0 kernel/locking/mutex.c:821
       rdma_destroy_id+0x1b/0x30 drivers/infiniband/core/cma.c:2124
       rds_ib_laddr_check_cm net/rds/ib.c:489 [inline]
       rds_ib_laddr_check+0x38b/0x730 net/rds/ib.c:511
       rds_trans_get_preferred+0x15f/0x2c0 net/rds/transport.c:104
       rds_bind+0x1a4a/0x2420 net/rds/bind.c:254
       __sys_bind_socket net/socket.c:1945 [inline]
       __sys_bind_socket net/socket.c:1937 [inline]
       __sys_bind+0x1a9/0x260 net/socket.c:1976
       __do_compat_sys_socketcall net/compat.c:450 [inline]
       __se_compat_sys_socketcall net/compat.c:422 [inline]
       __ia32_compat_sys_socketcall+0x4c7/0x770 net/compat.c:422
       do_syscall_32_irqs_on arch/x86/entry/syscall_32.c:79 [inline]
       __do_fast_syscall_32+0x13a/0x8b0 arch/x86/entry/syscall_32.c:291
       do_fast_syscall_32+0x32/0x70 arch/x86/entry/syscall_32.c:316
       entry_SYSENTER_compat_after_hwframe+0x84/0x8e

-> #0 (rds_trans_sem){++++}-{4:4}:
       check_prev_add+0xeb/0xe60 kernel/locking/lockdep.c:3209
       check_prevs_add kernel/locking/lockdep.c:3328 [inline]
       validate_chain kernel/locking/lockdep.c:3952 [inline]
       __lock_acquire+0x1528/0x1f40 kernel/locking/lockdep.c:5288
       lock_acquire kernel/locking/lockdep.c:5942 [inline]
       lock_acquire+0x1d1/0x380 kernel/locking/lockdep.c:5899
       down_read+0x99/0x4c0 kernel/locking/rwsem.c:1574
       rds_trans_get_preferred+0xf7/0x2c0 net/rds/transport.c:100
       __rds_conn_create+0xad5/0x2650 net/rds/connection.c:252
       rds_conn_create+0x44/0x60 net/rds/connection.c:384
       rds_ib_cm_handle_connect+0x62b/0x1220 net/rds/ib_cm.c:860
       rds_rdma_cm_event_handler_cmn+0x59f/0x9b0 net/rds/rdma_transport.c:91
       cma_listen_handler+0x11a/0x180 drivers/infiniband/core/cma.c:2716
       cma_cm_event_handler+0x99/0x300 drivers/infiniband/core/cma.c:2181
       cma_ib_req_handler+0x1be2/0x5700 drivers/infiniband/core/cma.c:2461
       cm_process_work+0x46/0x440 drivers/infiniband/core/cm.c:1869
       cm_queue_work_unlock+0x5d/0x250 drivers/infiniband/core/cm.c:933
       cm_req_handler drivers/infiniband/core/cm.c:2235 [inline]
       cm_work_handler+0x638d/0xc860 drivers/infiniband/core/cm.c:3849
       process_one_work+0xac7/0x1b10 kernel/workqueue.c:3396
       process_scheduled_works kernel/workqueue.c:3479 [inline]
       worker_thread+0x5ef/0xe50 kernel/workqueue.c:3560
       kthread+0x373/0x450 kernel/kthread.c:436
       ret_from_fork+0x730/0xd60 arch/x86/kernel/process.c:158
       ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245

other info that might help us debug this:

Chain exists of:
  rds_trans_sem --> &id_priv->handler_mutex --> &id_priv->handler_mutex/1

 Possible unsafe locking scenario:

       CPU0                    CPU1
       ----                    ----
  lock(&id_priv->handler_mutex/1);
                               lock(&id_priv->handler_mutex);
                               lock(&id_priv->handler_mutex/1);
  rlock(rds_trans_sem);

 *** DEADLOCK ***

locks held by kworker/2:3/5905: 4, last CPU#2:
 #0: ffff88804c131140 ((wq_completion)ib_cm){+.+.}-{0:0}, at: process_one_work+0x1466/0x1b10 kernel/workqueue.c:3371
 #1: ffffc900030dfd08 ((work_completion)(&(&work->work)->work)){+.+.}-{0:0}, at: process_one_work+0xa2c/0x1b10 kernel/workqueue.c:3372
 #2: ffff88802a6fc420 (&id_priv->handler_mutex){+.+.}-{4:4}, at: cma_ib_req_handler+0xef1/0x5700 drivers/infiniband/core/cma.c:2427
 #3: ffff888014aed420 (&id_priv->handler_mutex/1){+.+.}-{4:4}, at: cma_ib_req_handler+0x16ff/0x5700 drivers/infiniband/core/cma.c:2450

stack backtrace:
CPU: 2 UID: 0 PID: 5905 Comm: kworker/2:3 Not tainted syzkaller #0 PREEMPT(full) 
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
Workqueue: ib_cm cm_work_handler
Call Trace:
 <TASK>
 __dump_stack lib/dump_stack.c:94 [inline]
 dump_stack_lvl+0x100/0x190 lib/dump_stack.c:120
 print_circular_bug.cold+0x178/0x1be kernel/locking/lockdep.c:2087
 check_noncircular+0x146/0x160 kernel/locking/lockdep.c:2219
 check_prev_add+0xeb/0xe60 kernel/locking/lockdep.c:3209
 check_prevs_add kernel/locking/lockdep.c:3328 [inline]
 validate_chain kernel/locking/lockdep.c:3952 [inline]
 __lock_acquire+0x1528/0x1f40 kernel/locking/lockdep.c:5288
 lock_acquire kernel/locking/lockdep.c:5942 [inline]
 lock_acquire+0x1d1/0x380 kernel/locking/lockdep.c:5899
 down_read+0x99/0x4c0 kernel/locking/rwsem.c:1574
 rds_trans_get_preferred+0xf7/0x2c0 net/rds/transport.c:100
 __rds_conn_create+0xad5/0x2650 net/rds/connection.c:252
 rds_conn_create+0x44/0x60 net/rds/connection.c:384
 rds_ib_cm_handle_connect+0x62b/0x1220 net/rds/ib_cm.c:860
 rds_rdma_cm_event_handler_cmn+0x59f/0x9b0 net/rds/rdma_transport.c:91
 cma_listen_handler+0x11a/0x180 drivers/infiniband/core/cma.c:2716
 cma_cm_event_handler+0x99/0x300 drivers/infiniband/core/cma.c:2181
 cma_ib_req_handler+0x1be2/0x5700 drivers/infiniband/core/cma.c:2461
 cm_process_work+0x46/0x440 drivers/infiniband/core/cm.c:1869
 cm_queue_work_unlock+0x5d/0x250 drivers/infiniband/core/cm.c:933
 cm_req_handler drivers/infiniband/core/cm.c:2235 [inline]
 cm_work_handler+0x638d/0xc860 drivers/infiniband/core/cm.c:3849
 process_one_work+0xac7/0x1b10 kernel/workqueue.c:3396
 process_scheduled_works kernel/workqueue.c:3479 [inline]
 worker_thread+0x5ef/0xe50 kernel/workqueue.c:3560
 kthread+0x373/0x450 kernel/kthread.c:436
 ret_from_fork+0x730/0xd60 arch/x86/kernel/process.c:158
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
 </TASK>
RDS/IB: Active conn connected <::ffff:172.20.20.170,::ffff:172.20.20.170,0> version 3.1

Crashes (209):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/10/17 03:59 git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 70dd4ee72eb2 3f2522c6 .config console log report C ci-qemu-upstream-386 possible deadlock in rds_trans_get_preferred
2026/10/18 22:09 upstream a0ff06b3a7bd 432c0077 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root possible deadlock in rds_trans_get_preferred
2026/10/18 22:09 upstream a0ff06b3a7bd 432c0077 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root possible deadlock in rds_trans_get_preferred
2026/10/18 19:29 upstream 32c52ec87d62 432c0077 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root possible deadlock in rds_trans_get_preferred
2026/10/18 12:33 upstream 32c52ec87d62 432c0077 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root possible deadlock in rds_trans_get_preferred
2026/10/18 07:24 upstream 32c52ec87d62 432c0077 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-smack-root possible deadlock in rds_trans_get_preferred
2026/10/18 06:14 upstream 58161ead29e5 432c0077 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-smack-root possible deadlock in rds_trans_get_preferred
2026/10/15 19:56 upstream 0fcb05b72344 3f2522c6 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root possible deadlock in rds_trans_get_preferred
2026/10/15 19:55 upstream 0fcb05b72344 3f2522c6 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root possible deadlock in rds_trans_get_preferred
2026/10/18 10:39 upstream 32c52ec87d62 432c0077 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in rds_trans_get_preferred
2026/10/18 07:18 upstream 32c52ec87d62 432c0077 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream possible deadlock in rds_trans_get_preferred
2026/10/18 02:39 upstream 58161ead29e5 432c0077 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream possible deadlock in rds_trans_get_preferred
2026/10/18 00:47 upstream 58161ead29e5 432c0077 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in rds_trans_get_preferred
2026/10/16 08:08 upstream 2f2f7eeef8b0 3f2522c6 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream possible deadlock in rds_trans_get_preferred
2026/10/16 07:04 upstream 2f2f7eeef8b0 3f2522c6 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream possible deadlock in rds_trans_get_preferred
2026/10/16 04:21 upstream 045958acaa75 3f2522c6 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream possible deadlock in rds_trans_get_preferred
2026/10/17 22:22 upstream 58161ead29e5 432c0077 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream-386 possible deadlock in rds_trans_get_preferred
2026/10/17 06:53 upstream 70dd4ee72eb2 432c0077 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream-386 possible deadlock in rds_trans_get_preferred
2026/10/17 00:54 upstream 70dd4ee72eb2 432c0077 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream-386 possible deadlock in rds_trans_get_preferred
2026/10/14 19:08 upstream 4056b3c9d3c9 1a71827b .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream-386 possible deadlock in rds_trans_get_preferred
2026/10/18 17:56 net 7ec48f396a1d 432c0077 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce possible deadlock in rds_trans_get_preferred
2026/10/18 16:52 net 7ec48f396a1d 432c0077 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce possible deadlock in rds_trans_get_preferred
2026/10/18 14:12 net 7ec48f396a1d 432c0077 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce possible deadlock in rds_trans_get_preferred
2026/10/18 11:58 net 7ec48f396a1d 432c0077 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce possible deadlock in rds_trans_get_preferred
2026/10/18 05:30 net 7ec48f396a1d 432c0077 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce possible deadlock in rds_trans_get_preferred
2026/10/18 03:46 net 7ec48f396a1d 432c0077 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce possible deadlock in rds_trans_get_preferred
2026/10/17 23:28 net 7ec48f396a1d 432c0077 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce possible deadlock in rds_trans_get_preferred
2026/10/17 19:26 net 7ec48f396a1d 432c0077 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce possible deadlock in rds_trans_get_preferred
2026/10/17 18:05 net 7ec48f396a1d 432c0077 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce possible deadlock in rds_trans_get_preferred
2026/10/17 16:48 net 00accbd9d502 432c0077 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce possible deadlock in rds_trans_get_preferred
2026/10/17 15:38 net 00accbd9d502 432c0077 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce possible deadlock in rds_trans_get_preferred
2026/10/17 13:25 net 00accbd9d502 432c0077 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce possible deadlock in rds_trans_get_preferred
2026/10/17 11:17 net 00accbd9d502 432c0077 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce possible deadlock in rds_trans_get_preferred
2026/10/17 08:40 net 00accbd9d502 432c0077 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce possible deadlock in rds_trans_get_preferred
2026/10/17 05:39 net 00accbd9d502 432c0077 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce possible deadlock in rds_trans_get_preferred
2026/10/17 03:16 net 191aa41548b2 432c0077 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce possible deadlock in rds_trans_get_preferred
2026/10/17 02:09 net 191aa41548b2 432c0077 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce possible deadlock in rds_trans_get_preferred
2026/10/16 23:38 net 191aa41548b2 432c0077 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce possible deadlock in rds_trans_get_preferred
2026/10/16 23:14 net 191aa41548b2 432c0077 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce possible deadlock in rds_trans_get_preferred
2026/10/16 20:05 net 191aa41548b2 b1757810 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce possible deadlock in rds_trans_get_preferred
2026/10/16 19:03 net 191aa41548b2 b1757810 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce possible deadlock in rds_trans_get_preferred
2026/10/16 17:53 net 191aa41548b2 b1757810 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce possible deadlock in rds_trans_get_preferred
2026/10/16 16:38 net 191aa41548b2 b1757810 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce possible deadlock in rds_trans_get_preferred
2026/10/16 13:29 net 191aa41548b2 b1757810 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce possible deadlock in rds_trans_get_preferred
2026/10/16 12:22 net 191aa41548b2 b1757810 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce possible deadlock in rds_trans_get_preferred
2026/10/16 10:43 net 191aa41548b2 b1757810 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce possible deadlock in rds_trans_get_preferred
2026/10/16 10:43 net 191aa41548b2 b1757810 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce possible deadlock in rds_trans_get_preferred
2026/10/16 09:09 net 191aa41548b2 3f2522c6 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce possible deadlock in rds_trans_get_preferred
2026/10/16 05:51 net 191aa41548b2 3f2522c6 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce possible deadlock in rds_trans_get_preferred
2026/10/16 02:41 net f88bb3606e4b 3f2522c6 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce possible deadlock in rds_trans_get_preferred
2026/10/16 01:40 net f88bb3606e4b 3f2522c6 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-this-kasan-gce possible deadlock in rds_trans_get_preferred
2026/10/15 15:41 net-next 73022f605c44 3f2522c6 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-kasan-gce possible deadlock in rds_trans_get_preferred
2026/10/15 05:01 linux-next d419d682257d 8fb0ae89 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce possible deadlock in rds_trans_get_preferred
2026/10/15 21:05 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 7a19f0cc94ad 3f2522c6 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in rds_trans_get_preferred
* Struck through repros no longer work on HEAD.