libfabric/8227.patch

28 lines
989 B
Diff

From b50b4df7e93988caff0574c6f62e99ab561b1f36 Mon Sep 17 00:00:00 2001
From: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
Date: Tue, 8 Nov 2022 12:40:43 +0100
Subject: [PATCH] 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>
---
prov/net/src/xnet_rdm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/prov/net/src/xnet_rdm.c b/prov/net/src/xnet_rdm.c
index 77a236b519..b5f77f068b 100644
--- a/prov/net/src/xnet_rdm.c
+++ b/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);