[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#989609: unblock: rdma-core/33.2-1



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

Please unblock package rdma-core

The rdma-core projects follows a similar release process than the linux
kernel developers. The point releases only contain backported fixes. I
had a look at those commits between our git snapshot from 2021-03-17 and
the 33.2 release.

[ Reason ]
The 33.2 release contains more bugfixes.

[ Impact ]
Users with InfiniBand hardware might not benefit from the fixes.

[ Tests ]
The upstream project has test cases, but our package does not run the
tests, because they rely on having InfiniBand hardware.

[ Risks ]
The package is not a leaf package, but only needed for users with RDMA
hardware. Since we have a good upstream relationship, the code from
upstream is unchanged. In case of a regression, upstream will be
affected as well.

[ Checklist ]
  [x] all changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in testing

unblock rdma-core/33.2-1

-- 
Benjamin Drung

Senior DevOps Engineer and Debian & Ubuntu Developer
Compute Platform Operations

1&1 IONOS SE | Greifswalder Str. 207 | 10405 Berlin | Deutschland
E-Mail: benjamin.drung@ionos.com | Web: www.ionos.de

Hauptsitz Montabaur, Amtsgericht Montabaur, HRB 24498

Vorstand: Hüseyin Dogan, Dr. Martin Endreß, Claudia Frese, Henning
Kettler, Arthur Mai, Matthias Steinberg, Achim Weiß
Aufsichtsratsvorsitzender: Markus Kadelke


Member of United Internet
diff -Nru rdma-core-33.1+git20210317/buildlib/centos6.spec rdma-core-33.2/buildlib/centos6.spec
--- rdma-core-33.1+git20210317/buildlib/centos6.spec	2021-04-06 10:12:51.000000000 +0200
+++ rdma-core-33.2/buildlib/centos6.spec	2021-06-03 09:20:05.000000000 +0200
@@ -1,5 +1,5 @@
 Name: rdma-core
-Version: 33.1
+Version: 33.2
 Release: 1%{?dist}
 Summary: RDMA core userspace libraries and daemons
 
diff -Nru rdma-core-33.1+git20210317/buildlib/RDMA_EnableCStd.cmake rdma-core-33.2/buildlib/RDMA_EnableCStd.cmake
--- rdma-core-33.1+git20210317/buildlib/RDMA_EnableCStd.cmake	2021-04-06 10:12:51.000000000 +0200
+++ rdma-core-33.2/buildlib/RDMA_EnableCStd.cmake	2021-06-03 09:20:05.000000000 +0200
@@ -58,9 +58,15 @@
   endif()
 endfunction()
 
+function(RDMA_Check_C_Compiles TO_VAR CHECK_PROGRAM)
+  set(CMAKE_REQUIRED_FLAGS "${ARGV2} -Werror")
+  CHECK_C_SOURCE_COMPILES("${CHECK_PROGRAM}" ${TO_VAR})
+  set(${TO_VAR} ${${TO_VAR}} PARENT_SCOPE)
+endfunction()
+
 function(RDMA_Check_Aliasing TO_VAR)
   SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2")
-  CHECK_C_SOURCE_COMPILES("
+  RDMA_Check_C_Compiles(HAVE_WORKING_STRICT_ALIASING "
 struct in6_addr {unsigned int u6_addr32[4];};
 struct iphdr {unsigned int daddr;};
 union ibv_gid {unsigned char raw[16];};
@@ -80,8 +86,7 @@
 	map_ipv4_addr_to_ipv6(&a);
 	return set_ah_attr_by_ipv4(&h);
 }"
-    HAVE_WORKING_STRICT_ALIASING
-    FAIL_REGEX "warning")
+  )
 
   set(${TO_VAR} "${HAVE_WORKING_STRICT_ALIASING}" PARENT_SCOPE)
 endfunction()
@@ -107,20 +112,12 @@
 #endif
 ")
 
-  CHECK_C_SOURCE_COMPILES(
-    "${SSE_CHECK_PROGRAM}"
-    HAVE_TARGET_SSE
-    FAIL_REGEX "warning")
+  RDMA_Check_C_Compiles(HAVE_TARGET_SSE "${SSE_CHECK_PROGRAM}")
 
   if(NOT HAVE_TARGET_SSE)
     # Older compiler, we can work around this by adding -msse instead of
     # relying on the function attribute.
-    set(CMAKE_REQUIRED_FLAGS "-msse")
-    CHECK_C_SOURCE_COMPILES(
-      "${SSE_CHECK_PROGRAM}"
-      NEED_MSSE_FLAG
-      FAIL_REGEX "warning")
-    set(CMAKE_REQUIRED_FLAGS)
+    RDMA_Check_C_Compiles(NEED_MSSE_FLAG "${SSE_CHECK_PROGRAM}" "-msse")
 
     if(NEED_MSSE_FLAG)
       set(SSE_FLAGS "-msse" PARENT_SCOPE)
diff -Nru rdma-core-33.1+git20210317/CMakeLists.txt rdma-core-33.2/CMakeLists.txt
--- rdma-core-33.1+git20210317/CMakeLists.txt	2021-04-06 10:12:51.000000000 +0200
+++ rdma-core-33.2/CMakeLists.txt	2021-06-03 09:20:05.000000000 +0200
@@ -72,7 +72,7 @@
 set(PACKAGE_NAME "RDMA")
 
 # See Documentation/versioning.md
-set(PACKAGE_VERSION "33.1")
+set(PACKAGE_VERSION "33.2")
 # When this is changed the values in these files need changing too:
 #   debian/control
 #   debian/libibverbs1.symbols
@@ -233,26 +233,21 @@
 
 # At some point after 4.4 gcc fixed shadow to ignore function vs variable
 # conflicts
-set(SAFE_CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS}")
-  set(CMAKE_REQUIRED_FLAGS "-Wshadow")
-CHECK_C_SOURCE_COMPILES("
+RDMA_Check_C_Compiles(HAVE_C_WORKING_SHADOW "
  #include <unistd.h>
  int main(int argc,const char *argv[]) { int access = 1; return access; }"
-  HAVE_C_WORKING_SHADOW
-  FAIL_REGEX "warning")
+  "-Wshadow")
 if (HAVE_C_WORKING_SHADOW)
   RDMA_AddOptCFlag(CMAKE_C_FLAGS HAVE_C_WORKING_SHADOW "-Wshadow")
 endif()
-set(CMAKE_REQUIRED_FLAGS "${SAFE_CMAKE_REQUIRED_FLAGS}")
 
 # At some point around 5.4 gcc fixed missing-field-initializers to ignore this
 # common idiom we use extensively. Since this is a useful warning for
 # developers try and leave it on if the compiler supports it.
-CHECK_C_SOURCE_COMPILES("
+RDMA_Check_C_Compiles(HAVE_C_WORKING_MISSING_FIELD_INITIALIZERS "
  struct foo { int a; int b; };
  int main(int argc,const char *argv[]) { struct foo tmp = {}; return tmp.a; }"
-  HAVE_C_WORKING_MISSING_FIELD_INITIALIZERS
-  FAIL_REGEX "warning")
+)
 if (NOT HAVE_C_WORKING_MISSING_FIELD_INITIALIZERS)
   RDMA_AddOptCFlag(CMAKE_C_FLAGS HAVE_C_WNO_MISSING_FIELD_INITIALIZERS "-Wno-missing-field-initializers")
 endif()
@@ -268,7 +263,7 @@
 RDMA_AddOptCFlag(NO_VAR_TRACKING_FLAGS HAVE_NO_VAR_TRACKING_ASSIGNMENTS
   "-fno-var-tracking-assignments")
 
-CHECK_C_SOURCE_COMPILES("
+RDMA_Check_C_Compiles(HAVE_FUNC_ATTRIBUTE_IFUNC "
  #include <unistd.h>
 
  void entry(void);
@@ -279,18 +274,16 @@
  static fn_t resolve_entry(void) {return &do_entry;}
 
  int main(int argc,const char *argv[]) { entry(); }"
-  HAVE_FUNC_ATTRIBUTE_IFUNC
-  FAIL_REGEX "warning")
+)
 
-CHECK_C_SOURCE_COMPILES("
+RDMA_Check_C_Compiles(HAVE_FUNC_ATTRIBUTE_SYMVER "
  #include <unistd.h>
 
  void _sym(void);
  __attribute__((__symver__(\"sym@TEST_1.1\"))) void _sym(void) {}
 
  int main(int argc,const char *argv[]) { _sym(); }"
-  HAVE_FUNC_ATTRIBUTE_SYMVER
-  FAIL_REGEX "warning")
+)
 
 # The code does not do the racy fcntl if the various CLOEXEC's are not
 # supported so it really doesn't work right if this isn't available. Thus hard
@@ -330,19 +323,17 @@
 endif()
 
 # always_inline is supported
-CHECK_C_SOURCE_COMPILES("
+RDMA_Check_C_Compiles(HAVE_FUNC_ATTRIBUTE_ALWAYS_INLINE "
  int foo(void);
  inline __attribute__((always_inline)) int foo(void) {return 0;}
  int main(int argc,const char *argv[]) { return foo(); }"
-  HAVE_FUNC_ATTRIBUTE_ALWAYS_INLINE
-  FAIL_REGEX "warning")
+)
 
 # Linux __u64 is an unsigned long long
-CHECK_C_SOURCE_COMPILES("
+RDMA_Check_C_Compiles(HAVE_LONG_LONG_U64 "
 #include <linux/types.h>
  int main(int argc,const char *argv[]) { __u64 tmp = 0; unsigned long long *tmp2 = &tmp; return *tmp2; }"
-  HAVE_LONG_LONG_U64
-  FAIL_REGEX "warning")
+)
 
 if (NOT HAVE_LONG_LONG_U64)
   # Modern Linux has switched to use ull in all cases, but to avoid disturbing
@@ -571,17 +562,13 @@
 # Old versions of libnl have a duplicated rtnl_route_put, disbale the warning on those
 # systems
 if (NOT NL_KIND EQUAL 0)
-  set(SAFE_CMAKE_REQUIRED_INCLUDES "${CMAKE_REQUIRED_INCLUDES}")
   set(SAFE_CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS}")
   set(CMAKE_REQUIRED_INCLUDES "${NL_INCLUDE_DIRS}")
-  set(CMAKE_REQUIRED_FLAGS "-Wredundant-decls")
-  CHECK_C_SOURCE_COMPILES("
+  RDMA_Check_C_Compiles(HAVE_C_WREDUNDANT_DECLS "
  #include <netlink/route/route.h>
  int main(int argc,const char *argv[]) { return 0; }"
-  HAVE_C_WREDUNDANT_DECLS
-  FAIL_REGEX "warning")
+  "-Wredundant-decls")
   set(CMAKE_REQUIRED_INCLUDES "${SAFE_CMAKE_REQUIRED_INCLUDES}")
-  set(CMAKE_REQUIRED_FLAGS "${SAFE_CMAKE_REQUIRED_FLAGS}")
 endif()
 RDMA_AddOptCFlag(CMAKE_C_FLAGS HAVE_C_WREDUNDANT_DECLS "-Wredundant-decls")
 
diff -Nru rdma-core-33.1+git20210317/debian/changelog rdma-core-33.2/debian/changelog
--- rdma-core-33.1+git20210317/debian/changelog	2021-04-12 11:28:57.000000000 +0200
+++ rdma-core-33.2/debian/changelog	2021-06-03 11:19:24.000000000 +0200
@@ -1,3 +1,18 @@
+rdma-core (33.2-1) unstable; urgency=medium
+
+  * New upstream bug-fix release:
+    - libhns: Fix wrong range of a mask
+    - verbs: Fix attr_optional() when 'IOCTL_MODE=write' is used
+    - mlx4: Fix mlx4_read_clock returned errno value
+    - efa: Fix use of uninitialized query device response
+    - libhns: Avoid accessing NULL pointer when locking/unlocking CQ
+    - mlx5: Fix mlx5_read_clock returned errno value
+    - bnxt_re/lib: Check AH handler validity before use
+    - iwpmd: Check returned value of parse_iwpm_msg
+    - libhns: Bugfix for calculation of extended sge
+
+ -- Benjamin Drung <benjamin.drung@ionos.com>  Thu, 03 Jun 2021 11:19:24 +0200
+
 rdma-core (33.1+git20210317-1) unstable; urgency=medium
 
   * New upstream bug-fix snapshot:
diff -Nru rdma-core-33.1+git20210317/debian/gbp.conf rdma-core-33.2/debian/gbp.conf
--- rdma-core-33.1+git20210317/debian/gbp.conf	1970-01-01 01:00:00.000000000 +0100
+++ rdma-core-33.2/debian/gbp.conf	2021-06-03 11:19:24.000000000 +0200
@@ -0,0 +1,2 @@
+[DEFAULT]
+debian-branch = debian/master
diff -Nru rdma-core-33.1+git20210317/infiniband-diags/CMakeLists.txt rdma-core-33.2/infiniband-diags/CMakeLists.txt
--- rdma-core-33.1+git20210317/infiniband-diags/CMakeLists.txt	2021-04-06 10:12:51.000000000 +0200
+++ rdma-core-33.2/infiniband-diags/CMakeLists.txt	2021-06-03 09:20:05.000000000 +0200
@@ -16,7 +16,7 @@
 function(ibdiag_programs)
   foreach(I ${ARGN})
     rdma_sbin_executable(${I} "${I}.c")
-    target_link_libraries(${I} LINK_PRIVATE ${RT_LIBRARIES} ibumad ibmad ibdiags_tools ibnetdisc)
+    target_link_libraries(${I} LINK_PRIVATE ${RT_LIBRARIES} ibdiags_tools ibumad ibmad ibnetdisc)
   endforeach()
 endfunction()
 
@@ -44,6 +44,6 @@
   )
 
 rdma_test_executable(ibsendtrap "ibsendtrap.c")
-target_link_libraries(ibsendtrap LINK_PRIVATE ibumad ibmad ibdiags_tools)
+target_link_libraries(ibsendtrap LINK_PRIVATE ibdiags_tools ibumad ibmad)
 rdma_test_executable(mcm_rereg_test "mcm_rereg_test.c")
-target_link_libraries(mcm_rereg_test LINK_PRIVATE ibumad ibmad ibdiags_tools)
+target_link_libraries(mcm_rereg_test LINK_PRIVATE ibdiags_tools ibumad ibmad)
diff -Nru rdma-core-33.1+git20210317/iwpmd/iwarp_pm_server.c rdma-core-33.2/iwpmd/iwarp_pm_server.c
--- rdma-core-33.1+git20210317/iwpmd/iwarp_pm_server.c	2021-04-06 10:12:51.000000000 +0200
+++ rdma-core-33.2/iwpmd/iwarp_pm_server.c	2021-06-03 09:20:05.000000000 +0200
@@ -1262,7 +1262,9 @@
 		ret = -errno;
 		goto process_iwpm_msg_exit;
 	}
-	parse_iwpm_msg(&recv_buffer, &msg_parms);
+	ret = parse_iwpm_msg(&recv_buffer, &msg_parms);
+	if (ret)
+		goto process_iwpm_msg_exit;
 
 	switch (msg_parms.mt) {
 	case IWARP_PM_MT_REQ:
diff -Nru rdma-core-33.1+git20210317/libibverbs/cmd_ioctl.h rdma-core-33.2/libibverbs/cmd_ioctl.h
--- rdma-core-33.1+git20210317/libibverbs/cmd_ioctl.h	2021-04-06 10:12:51.000000000 +0200
+++ rdma-core-33.2/libibverbs/cmd_ioctl.h	2021-06-03 09:20:05.000000000 +0200
@@ -236,6 +236,9 @@
 /* Make the attribute optional. */
 static inline struct ib_uverbs_attr *attr_optional(struct ib_uverbs_attr *attr)
 {
+	if (!attr)
+		return attr;
+
 	attr->flags &= ~UVERBS_ATTR_F_MANDATORY;
 	return attr;
 }
diff -Nru rdma-core-33.1+git20210317/providers/bnxt_re/verbs.c rdma-core-33.2/providers/bnxt_re/verbs.c
--- rdma-core-33.1+git20210317/providers/bnxt_re/verbs.c	2021-04-06 10:12:51.000000000 +0200
+++ rdma-core-33.2/providers/bnxt_re/verbs.c	2021-06-03 09:20:05.000000000 +0200
@@ -1193,13 +1193,13 @@
 	int len;
 
 	len = bnxt_re_build_send_sqe(qp, wqe, wr, is_inline);
-	sqe->qkey = htole32(wr->wr.ud.remote_qkey);
-	sqe->dst_qp = htole32(wr->wr.ud.remote_qpn);
 	if (!wr->wr.ud.ah) {
 		len = -EINVAL;
 		goto bail;
 	}
 	ah = to_bnxt_re_ah(wr->wr.ud.ah);
+	sqe->qkey = htole32(wr->wr.ud.remote_qkey);
+	sqe->dst_qp = htole32(wr->wr.ud.remote_qpn);
 	sqe->avid = htole32(ah->avid & 0xFFFFF);
 bail:
 	return len;
diff -Nru rdma-core-33.1+git20210317/providers/efa/verbs.c rdma-core-33.2/providers/efa/verbs.c
--- rdma-core-33.1+git20210317/providers/efa/verbs.c	2021-04-06 10:12:51.000000000 +0200
+++ rdma-core-33.2/providers/efa/verbs.c	2021-06-03 09:20:05.000000000 +0200
@@ -96,7 +96,7 @@
 
 int efa_query_device_ctx(struct efa_context *ctx)
 {
-	struct efa_query_device_ex_resp resp;
+	struct efa_query_device_ex_resp resp = {};
 	struct ibv_device_attr_ex attr;
 	size_t resp_size = sizeof(resp);
 	unsigned int qp_table_sz;
diff -Nru rdma-core-33.1+git20210317/providers/hns/hns_roce_u_hw_v2.c rdma-core-33.2/providers/hns/hns_roce_u_hw_v2.c
--- rdma-core-33.1+git20210317/providers/hns/hns_roce_u_hw_v2.c	2021-04-06 10:12:51.000000000 +0200
+++ rdma-core-33.2/providers/hns/hns_roce_u_hw_v2.c	2021-06-03 09:20:05.000000000 +0200
@@ -1354,14 +1354,20 @@
 	struct hns_roce_cq *send_cq = to_hr_cq(qp->send_cq);
 	struct hns_roce_cq *recv_cq = to_hr_cq(qp->recv_cq);
 
-	if (send_cq == recv_cq) {
+	if (send_cq && recv_cq) {
+		if (send_cq == recv_cq) {
+			pthread_spin_lock(&send_cq->lock);
+		} else if (send_cq->cqn < recv_cq->cqn) {
+			pthread_spin_lock(&send_cq->lock);
+			pthread_spin_lock(&recv_cq->lock);
+		} else {
+			pthread_spin_lock(&recv_cq->lock);
+			pthread_spin_lock(&send_cq->lock);
+		}
+	} else if (send_cq) {
 		pthread_spin_lock(&send_cq->lock);
-	} else if (send_cq->cqn < recv_cq->cqn) {
-		pthread_spin_lock(&send_cq->lock);
-		pthread_spin_lock(&recv_cq->lock);
-	} else {
+	} else if (recv_cq) {
 		pthread_spin_lock(&recv_cq->lock);
-		pthread_spin_lock(&send_cq->lock);
 	}
 }
 
@@ -1370,13 +1376,19 @@
 	struct hns_roce_cq *send_cq = to_hr_cq(qp->send_cq);
 	struct hns_roce_cq *recv_cq = to_hr_cq(qp->recv_cq);
 
-	if (send_cq == recv_cq) {
-		pthread_spin_unlock(&send_cq->lock);
-	} else if (send_cq->cqn < recv_cq->cqn) {
-		pthread_spin_unlock(&recv_cq->lock);
-		pthread_spin_unlock(&send_cq->lock);
-	} else {
+	if (send_cq && recv_cq) {
+		if (send_cq == recv_cq) {
+			pthread_spin_unlock(&send_cq->lock);
+		} else if (send_cq->cqn < recv_cq->cqn) {
+			pthread_spin_unlock(&recv_cq->lock);
+			pthread_spin_unlock(&send_cq->lock);
+		} else {
+			pthread_spin_unlock(&send_cq->lock);
+			pthread_spin_unlock(&recv_cq->lock);
+		}
+	} else if (send_cq) {
 		pthread_spin_unlock(&send_cq->lock);
+	} else if (recv_cq) {
 		pthread_spin_unlock(&recv_cq->lock);
 	}
 }
diff -Nru rdma-core-33.1+git20210317/providers/hns/hns_roce_u_hw_v2.h rdma-core-33.2/providers/hns/hns_roce_u_hw_v2.h
--- rdma-core-33.1+git20210317/providers/hns/hns_roce_u_hw_v2.h	2021-04-06 10:12:51.000000000 +0200
+++ rdma-core-33.2/providers/hns/hns_roce_u_hw_v2.h	2021-06-03 09:20:05.000000000 +0200
@@ -133,7 +133,7 @@
 #define DB_BYTE_4_CMD_M GENMASK(27, 24)
 
 #define DB_PARAM_SRQ_PRODUCER_COUNTER_S 0
-#define DB_PARAM_SRQ_PRODUCER_COUNTER_M GENMASK(16, 0)
+#define DB_PARAM_SRQ_PRODUCER_COUNTER_M GENMASK(15, 0)
 
 #define DB_PARAM_SL_S 16
 #define DB_PARAM_SL_M GENMASK(18, 16)
diff -Nru rdma-core-33.1+git20210317/providers/hns/hns_roce_u_verbs.c rdma-core-33.2/providers/hns/hns_roce_u_verbs.c
--- rdma-core-33.1+git20210317/providers/hns/hns_roce_u_verbs.c	2021-04-06 10:12:51.000000000 +0200
+++ rdma-core-33.2/providers/hns/hns_roce_u_verbs.c	2021-06-03 09:20:05.000000000 +0200
@@ -711,7 +711,12 @@
 	}
 
 	qp->ex_sge.sge_shift = HNS_ROCE_SGE_SHIFT;
-	qp->ex_sge.sge_cnt = cnt;
+
+	/* If the number of extended sge is not zero, they MUST use the
+	 * space of HNS_HW_PAGE_SIZE at least.
+	 */
+	qp->ex_sge.sge_cnt = cnt ?
+			     max(cnt, HNS_HW_PAGE_SIZE / HNS_ROCE_SGE_SIZE) : 0;
 }
 
 static void hns_roce_set_qp_params(struct ibv_pd *pd,
diff -Nru rdma-core-33.1+git20210317/providers/mlx4/verbs.c rdma-core-33.2/providers/mlx4/verbs.c
--- rdma-core-33.1+git20210317/providers/mlx4/verbs.c	2021-04-06 10:12:51.000000000 +0200
+++ rdma-core-33.2/providers/mlx4/verbs.c	2021-06-03 09:20:05.000000000 +0200
@@ -127,7 +127,7 @@
 	struct mlx4_context *ctx = to_mctx(context);
 
 	if (!ctx->hca_core_clock)
-		return -EOPNOTSUPP;
+		return EOPNOTSUPP;
 
 	/* Handle wraparound */
 	for (i = 0; i < 2; i++) {
diff -Nru rdma-core-33.1+git20210317/providers/mlx5/verbs.c rdma-core-33.2/providers/mlx5/verbs.c
--- rdma-core-33.1+git20210317/providers/mlx5/verbs.c	2021-04-06 10:12:51.000000000 +0200
+++ rdma-core-33.2/providers/mlx5/verbs.c	2021-06-03 09:20:05.000000000 +0200
@@ -72,7 +72,7 @@
 	struct mlx5_context *ctx = to_mctx(context);
 
 	if (!ctx->hca_core_clock)
-		return -EOPNOTSUPP;
+		return EOPNOTSUPP;
 
 	/* Handle wraparound */
 	for (i = 0; i < 2; i++) {
diff -Nru rdma-core-33.1+git20210317/redhat/rdma-core.spec rdma-core-33.2/redhat/rdma-core.spec
--- rdma-core-33.1+git20210317/redhat/rdma-core.spec	2021-04-06 10:12:51.000000000 +0200
+++ rdma-core-33.2/redhat/rdma-core.spec	2021-06-03 09:20:05.000000000 +0200
@@ -1,5 +1,5 @@
 Name: rdma-core
-Version: 33.1
+Version: 33.2
 Release: 1%{?dist}
 Summary: RDMA core userspace libraries and daemons
 
diff -Nru rdma-core-33.1+git20210317/redhat/rdma.modules-setup.sh rdma-core-33.2/redhat/rdma.modules-setup.sh
--- rdma-core-33.1+git20210317/redhat/rdma.modules-setup.sh	2021-04-06 10:12:51.000000000 +0200
+++ rdma-core-33.2/redhat/rdma.modules-setup.sh	2021-06-03 09:20:05.000000000 +0200
@@ -21,11 +21,10 @@
 	inst /usr/lib/modprobe.d/libmlx4.conf
 	inst_multiple lspci setpci awk sleep
 	inst_multiple -o /etc/modprobe.d/mlx4.conf
-	inst_rules 60-rdma-ndd.rules 60-rdma-persistent-naming.rules 70-persistent-ipoib.rules 75-rdma-description.rules 90-rdma-hw-modules.rules 90-rdma-ulp-modules.rules 90-rdma-umad.rules
+	inst_rules 60-rdma-persistent-naming.rules 70-persistent-ipoib.rules 75-rdma-description.rules 90-rdma-hw-modules.rules 90-rdma-ulp-modules.rules 90-rdma-umad.rules
 	inst_multiple -o \
                   $systemdsystemunitdir/rdma-hw.target \
-                  $systemdsystemunitdir/rdma-load-modules@.service \
-                  $systemdsystemunitdir/rdma-ndd.service
+                  $systemdsystemunitdir/rdma-load-modules@.service
 }
 
 installkernel() {
diff -Nru rdma-core-33.1+git20210317/suse/module-setup.sh rdma-core-33.2/suse/module-setup.sh
--- rdma-core-33.1+git20210317/suse/module-setup.sh	2021-04-06 10:12:51.000000000 +0200
+++ rdma-core-33.2/suse/module-setup.sh	2021-06-03 09:20:05.000000000 +0200
@@ -17,7 +17,7 @@
 	inst /etc/rdma/modules/opa.conf
 	inst /etc/rdma/modules/rdma.conf
 	inst /etc/rdma/modules/roce.conf
-	inst /usr/lib/mlx4-setup.sh
+	inst /usr/libexec/mlx4-setup.sh
 	inst_multiple lspci setpci awk sleep
 	inst_rules 60-rdma-persistent-naming.rules 70-persistent-ipoib.rules 75-rdma-description.rules 90-rdma-hw-modules.rules 90-rdma-ulp-modules.rules
 	inst_multiple -o \
diff -Nru rdma-core-33.1+git20210317/suse/rdma-core.spec rdma-core-33.2/suse/rdma-core.spec
--- rdma-core-33.1+git20210317/suse/rdma-core.spec	2021-04-06 10:12:51.000000000 +0200
+++ rdma-core-33.2/suse/rdma-core.spec	2021-06-03 09:20:05.000000000 +0200
@@ -23,7 +23,7 @@
 
 %define         git_ver %{nil}
 Name:           rdma-core
-Version:        33.1
+Version:        33.2
 Release:        0
 Summary:        RDMA core userspace libraries and daemons
 License:        GPL-2.0-only OR BSD-2-Clause
@@ -443,7 +443,7 @@
 cd ..
 mkdir -p %{buildroot}/%{_sysconfdir}/rdma
 
-%global dracutlibdir %%{_libexecdir}/dracut/
+%global dracutlibdir %%{_prefix}/lib/dracut/
 %global sysmodprobedir %%{_sysconfdir}/modprobe.d
 
 mkdir -p %{buildroot}%{_udevrulesdir}
@@ -452,14 +452,19 @@
 mkdir -p %{buildroot}%{_unitdir}
 
 # Port type setup for mlx4 dual port cards
+install -D -m0644 redhat/rdma.mlx4.sys.modprobe %{buildroot}%{sysmodprobedir}/50-libmlx4.conf
 install -D -m0644 redhat/rdma.mlx4.conf %{buildroot}/%{_sysconfdir}/rdma/mlx4.conf
-sed 's%/usr/libexec%/usr/lib%g' redhat/rdma.mlx4.sys.modprobe > %{buildroot}%{sysmodprobedir}/50-libmlx4.conf
 chmod 0644 %{buildroot}%{sysmodprobedir}/50-libmlx4.conf
 install -D -m0755 redhat/rdma.mlx4-setup.sh %{buildroot}%{_libexecdir}/mlx4-setup.sh
 
 # Dracut file for IB support during boot
 install -D -m0644 suse/module-setup.sh %{buildroot}%{dracutlibdir}/modules.d/05rdma/module-setup.sh
 
+%if "%{_libexecdir}" != "/usr/libexec"
+sed 's-/usr/libexec-%{_libexecdir}-g' -i %{buildroot}%{sysmodprobedir}/50-libmlx4.conf
+sed 's-/usr/libexec-%{_libexecdir}-g' -i %{buildroot}%{dracutlibdir}/modules.d/05rdma/module-setup.sh
+%endif
+
 # ibacm
 cd build
 LD_LIBRARY_PATH=./lib bin/ib_acme -D . -O

Reply to: