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

Bug#989609: marked as done (unblock: rdma-core/33.2-1)



Your message dated Tue, 08 Jun 2021 22:53:35 +0000
with message-id <E1lqkbH-00068i-Mk@respighi.debian.org>
and subject line unblock rdma-core
has caused the Debian Bug report #989609,
regarding unblock: rdma-core/33.2-1
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
989609: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=989609
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
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

--- End Message ---
--- Begin Message ---
Unblocked.

--- End Message ---

Reply to: