Accepting request 1034518 from science:HPC

OBS-URL: https://build.opensuse.org/request/show/1034518
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libfabric?expand=0&rev=37
This commit is contained in:
Dominique Leuenberger 2022-11-09 11:56:28 +00:00 committed by Git OBS Bridge
commit d5c883a19d
4 changed files with 39 additions and 0 deletions

View File

@ -1,3 +1,9 @@
-------------------------------------------------------------------
Tue Nov 8 11:46:56 UTC 2022 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
- Add prov-net-fix-error-path-in-xnet_enable_rdm.patch to fix a deadlock
when no network interfaces are available (bsc#1205139)
-------------------------------------------------------------------
Mon Oct 10 06:47:42 UTC 2022 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>

View File

@ -1,3 +1,9 @@
-------------------------------------------------------------------
Tue Nov 8 11:46:56 UTC 2022 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
- Add prov-net-fix-error-path-in-xnet_enable_rdm.patch to fix a deadlock
when no network interfaces are available (bsc#1205139)
-------------------------------------------------------------------
Mon Oct 10 06:47:42 UTC 2022 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>

View File

@ -28,6 +28,7 @@ Group: Development/Libraries/C and C++
Source: %{name}-%{version}%{git_ver}.tar.bz2
Source1: baselibs.conf
Patch0: libfabric-libtool.patch
Patch1: prov-net-fix-error-path-in-xnet_enable_rdm.patch
URL: http://www.github.com/ofiwg/libfabric
BuildRequires: autoconf
BuildRequires: automake
@ -70,6 +71,7 @@ services, such as RDMA. This package contains the development files.
%prep
%setup -q -n %{name}-%{version}%{git_ver}
%patch0 -p1
%patch1
%build
rm -f config/libtool.m4

View File

@ -0,0 +1,25 @@
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);