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: