1b73b978dd
- Add prov-net-fix-error-path-in-xnet_enable_rdm.patch to fix a deadlock when no network interfaces are available (bsc#1205139) OBS-URL: https://build.opensuse.org/request/show/1034517 OBS-URL: https://build.opensuse.org/package/show/science:HPC/libfabric?expand=0&rev=81
26 lines
894 B
Diff
26 lines
894 B
Diff
commit b775a752b3b4017f39e542ef4f32576d2b018f05
|
|
Author: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
|
Date: Tue Nov 8 12:40:43 2022 +0100
|
|
|
|
prov/net: fix error path in xnet_enable_rdm
|
|
|
|
If xnet_listen fails (happens 100% of the time on a system with no
|
|
network interface but lo), the progress lock is not released which
|
|
causes a deadlock when fi_close is called later on the endpoint.
|
|
|
|
Signed-off-by: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
|
|
|
diff --git prov/net/src/xnet_rdm.c prov/net/src/xnet_rdm.c
|
|
index 77a236b51903..b5f77f068bf3 100644
|
|
--- prov/net/src/xnet_rdm.c
|
|
+++ prov/net/src/xnet_rdm.c
|
|
@@ -711,7 +711,7 @@ static int xnet_enable_rdm(struct xnet_rdm *rdm)
|
|
|
|
ret = xnet_listen(rdm->pep, progress);
|
|
if (ret)
|
|
- return ret;
|
|
+ goto unlock;
|
|
|
|
/* TODO: Move updating the src_addr to pep_listen(). */
|
|
len = sizeof(rdm->addr);
|