Commit 7528827
librdmacm: Fix rdma_resolve_addrinfo() deadlock in sync mode
Fix the issue that rdma_resolve_addrinfo() gets deadlock when run in
sync mode:
(gdb) bt
#0 futex_wait
linux-rdma#1 __GI___lll_lock_wait
linux-rdma#2 0x00007ffff7dae791 in lll_mutex_lock_optimized
linux-rdma#3 ___pthread_mutex_lock
linux-rdma#4 0x00007ffff7f9f018 in ucma_process_addrinfo_resolved
linux-rdma#5 0x00007ffff7fa1447 in rdma_get_cm_event
linux-rdma#6 0x00007ffff7fa1fef in ucma_complete
linux-rdma#7 0x00007ffff7fa2f9c in resolve_ai_sa
linux-rdma#8 0x00007ffff7fa36ab in __rdma_resolve_addrinfo
linux-rdma#9 rdma_resolve_addrinfo
linux-rdma#10 0x00000000004017b6 in start_cm_client_sync
linux-rdma#11 0x00000000004018ee in main
Fixes: 7b1a686 ("librdmacm: Provide interfaces to resolve IB services")
Signed-off-by: Mark Zhang <[email protected]>
Signed-off-by: Sean Hefty <[email protected]>
Signed-off-by: Leon Romanovsky <[email protected]>1 parent 36b662f commit 7528827
1 file changed
+7
-8
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3217 | 3217 | | |
3218 | 3218 | | |
3219 | 3219 | | |
3220 | | - | |
3221 | | - | |
3222 | | - | |
3223 | | - | |
3224 | 3220 | | |
3225 | 3221 | | |
3226 | | - | |
3227 | 3222 | | |
3228 | | - | |
3229 | | - | |
3230 | | - | |
| 3223 | + | |
| 3224 | + | |
| 3225 | + | |
| 3226 | + | |
| 3227 | + | |
| 3228 | + | |
| 3229 | + | |
3231 | 3230 | | |
3232 | 3231 | | |
3233 | 3232 | | |
| |||
0 commit comments