From ca0bec4b33927dc04dd96aa699b265f5f7bf0b0c Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Tue, 16 May 2023 06:17:59 +0000 Subject: [PATCH] import rdma-core-44.0-2.el8.1 --- .gitignore | 2 +- .rdma-core.metadata | 2 +- ...util-fix-overflow-in-remap_node_name.patch | 85 +++++++++++++++++ ...-drop-unnecessary-nodedesc-local-cop.patch | 95 +++++++++++++++++++ ...tect-options-not-supported-in-RHEL-8.patch | 52 ++++++++++ ...le-providers-that-were-not-enabled-i.patch | 53 +++++++++++ ...-printing-a-possibly-non-NUL-termina.patch | 38 ++++++++ ...ot-perform-device-rename-on-OPA-devi.patch | 42 ++++++++ ...RNEL-as-default-interface-naming-co.patch} | 0 SPECS/rdma-core.spec | 92 +++++++++--------- 10 files changed, 414 insertions(+), 47 deletions(-) create mode 100644 SOURCES/0001-util-fix-overflow-in-remap_node_name.patch create mode 100644 SOURCES/0002-infiniband-diags-drop-unnecessary-nodedesc-local-cop.patch create mode 100644 SOURCES/0002-systemd-drop-Protect-options-not-supported-in-RHEL-8.patch create mode 100644 SOURCES/0003-CMakeLists-disable-providers-that-were-not-enabled-i.patch create mode 100644 SOURCES/0003-libibnetdisc-fix-printing-a-possibly-non-NUL-termina.patch create mode 100644 SOURCES/9998-kernel-boot-Do-not-perform-device-rename-on-OPA-devi.patch rename SOURCES/{udev-keep-NAME_KERNEL-as-default-interface-naming-co.patch => 9999-udev-keep-NAME_KERNEL-as-default-interface-naming-co.patch} (100%) diff --git a/.gitignore b/.gitignore index 1567275..e46fdd1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ -SOURCES/rdma-core-41.0.tar.gz +SOURCES/rdma-core-44.0.tar.gz SOURCES/rxe_cfg.8.gz diff --git a/.rdma-core.metadata b/.rdma-core.metadata index bfa10d4..6aaac42 100644 --- a/.rdma-core.metadata +++ b/.rdma-core.metadata @@ -1,2 +1,2 @@ -6ed8cf4056ed8250cf94fa14e79d76fb74ad4548 SOURCES/rdma-core-41.0.tar.gz +f1ff3710270ad7920626f73e955aae2b1a043136 SOURCES/rdma-core-44.0.tar.gz 9187638355d9bee854989bbfc6c2956301fd52aa SOURCES/rxe_cfg.8.gz diff --git a/SOURCES/0001-util-fix-overflow-in-remap_node_name.patch b/SOURCES/0001-util-fix-overflow-in-remap_node_name.patch new file mode 100644 index 0000000..860c153 --- /dev/null +++ b/SOURCES/0001-util-fix-overflow-in-remap_node_name.patch @@ -0,0 +1,85 @@ +From 5075b961a29ff9c418e1fefe78432e95dd0a5fcc Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Wed, 1 Feb 2023 22:41:06 +0100 +Subject: [PATCH 1/3] util: fix overflow in remap_node_name() + +The function remap_node_name() assumes the parameter 'nodedesc' is at +least IB_SMP_DATA_SIZE + 1 (i.e. 65) bytes long, because it passes it to +clean_nodedesc() that writes a nul-terminator to it at offset +IB_SMP_DATA_SIZE. Callers in infiniband-diags/saquery.c pass +a (struct ib_node_desc_t).description as the argument, which is only +IB_NODE_DESCRIPTION_SIZE (i.e. 64) bytes long. This is an overflow. + +An odd thing about remap_node_name() is that it may (but does not +always) rewrite the nodedesc in-place. Callers do not appear to +appreciate this behavior. Most of them are various print_* and dump_* +functions where rewriting the input makes no sense. Some callers make a +local copy of the nodedesc first, possibly to protect the original. +One caller (infiniband-diags/saquery.c:print_node_records()) checks if +either the original description or the remapped one matches a given +requested_name - so it looks like it prefers the original to be +not rewritten. + +Let's make remap_node_name() a bit safer and more convenient to use. +Allocate a fixed-sized copy first. Then use strncpy to copy from +'nodedesc', never reading more than IB_SMP_DATA_SIZE (64) bytes. +Apply clean_nodedesc() on the correctly-sized copy. This solves the +overflow bug. Also, the in-place rewrite of 'nodedesc' is gone and it +can become a (const char*). + +The overflow was found by a static checker (covscan). + +Fixes: d974c4e398d2 ("Fix max length of node description (ibnetdiscover and smpquery)") +Signed-off-by: Michal Schmidt +--- + util/node_name_map.c | 12 +++++++++--- + util/node_name_map.h | 3 +-- + 2 files changed, 10 insertions(+), 5 deletions(-) + +diff --git a/util/node_name_map.c b/util/node_name_map.c +index 30b73eb1448e..511cb92ef19c 100644 +--- a/util/node_name_map.c ++++ b/util/node_name_map.c +@@ -95,7 +95,7 @@ void close_node_name_map(nn_map_t * map) + free(map); + } + +-char *remap_node_name(nn_map_t * map, uint64_t target_guid, char *nodedesc) ++char *remap_node_name(nn_map_t * map, uint64_t target_guid, const char *nodedesc) + { + char *rc = NULL; + name_map_item_t *item = NULL; +@@ -108,8 +108,14 @@ char *remap_node_name(nn_map_t * map, uint64_t target_guid, char *nodedesc) + rc = strdup(item->name); + + done: +- if (rc == NULL) +- rc = strdup(clean_nodedesc(nodedesc)); ++ if (rc == NULL) { ++ rc = malloc(IB_SMP_DATA_SIZE + 1); ++ if (rc) { ++ strncpy(rc, nodedesc, IB_SMP_DATA_SIZE); ++ rc[IB_SMP_DATA_SIZE] = '\0'; ++ clean_nodedesc(rc); ++ } ++ } + return (rc); + } + +diff --git a/util/node_name_map.h b/util/node_name_map.h +index e78d274b116e..d83d672782c4 100644 +--- a/util/node_name_map.h ++++ b/util/node_name_map.h +@@ -12,8 +12,7 @@ typedef struct nn_map nn_map_t; + + nn_map_t *open_node_name_map(const char *node_name_map); + void close_node_name_map(nn_map_t *map); +-/* NOTE: parameter "nodedesc" may be modified here. */ +-char *remap_node_name(nn_map_t *map, uint64_t target_guid, char *nodedesc); ++char *remap_node_name(nn_map_t *map, uint64_t target_guid, const char *nodedesc); + char *clean_nodedesc(char *nodedesc); + + #endif +-- +2.39.1 + diff --git a/SOURCES/0002-infiniband-diags-drop-unnecessary-nodedesc-local-cop.patch b/SOURCES/0002-infiniband-diags-drop-unnecessary-nodedesc-local-cop.patch new file mode 100644 index 0000000..7927ba6 --- /dev/null +++ b/SOURCES/0002-infiniband-diags-drop-unnecessary-nodedesc-local-cop.patch @@ -0,0 +1,95 @@ +From d5723a0f69577fd3022024ca17c27e273a29695b Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Wed, 1 Feb 2023 22:41:16 +0100 +Subject: [PATCH 2/3] infiniband-diags: drop unnecessary nodedesc local copies + +Now that remap_node_name() never rewrites nodedesc in-place, some +copying can be avoided. + +Signed-off-by: Michal Schmidt +--- + infiniband-diags/dump_fts.c | 14 +++----------- + 1 file changed, 3 insertions(+), 11 deletions(-) + +diff --git a/infiniband-diags/dump_fts.c b/infiniband-diags/dump_fts.c +index ce6bfb9ecc33..acef9efe692d 100644 +--- a/infiniband-diags/dump_fts.c ++++ b/infiniband-diags/dump_fts.c +@@ -109,7 +109,6 @@ static void dump_multicast_tables(ibnd_node_t *node, unsigned startl, + unsigned endl, struct ibmad_port *mad_port) + { + ib_portid_t *portid = &node->path_portid; +- char nd[IB_SMP_DATA_SIZE + 1] = { 0 }; + char str[512]; + char *s; + uint64_t nodeguid; +@@ -119,7 +118,6 @@ static void dump_multicast_tables(ibnd_node_t *node, unsigned startl, + char *mapnd = NULL; + int n = 0; + +- memcpy(nd, node->nodedesc, strlen(node->nodedesc)); + nports = node->numports; + nodeguid = node->guid; + +@@ -149,7 +147,7 @@ static void dump_multicast_tables(ibnd_node_t *node, unsigned startl, + endl = IB_MAX_MCAST_LID; + } + +- mapnd = remap_node_name(node_name_map, nodeguid, nd); ++ mapnd = remap_node_name(node_name_map, nodeguid, node->nodedesc); + + printf("Multicast mlids [0x%x-0x%x] of switch %s guid 0x%016" PRIx64 + " (%s):\n", startl, endl, portid2str(portid), nodeguid, +@@ -224,8 +222,6 @@ static int dump_lid(char *str, int str_len, int lid, int valid, + ibnd_fabric_t *fabric, int *last_port_lid, + int *base_port_lid, uint64_t *portguid) + { +- char nd[IB_SMP_DATA_SIZE + 1] = { 0 }; +- + ibnd_port_t *port = NULL; + + char ntype[50], sguid[30]; +@@ -276,14 +272,12 @@ static int dump_lid(char *str, int str_len, int lid, int valid, + baselid = port->base_lid; + lmc = port->lmc; + +- memcpy(nd, port->node->nodedesc, strlen(port->node->nodedesc)); +- + if (lmc > 0) { + *base_port_lid = baselid; + *last_port_lid = baselid + (1 << lmc) - 1; + } + +- mapnd = remap_node_name(node_name_map, nodeguid, nd); ++ mapnd = remap_node_name(node_name_map, nodeguid, port->node->nodedesc); + + rc = snprintf(str, str_len, ": (%s portguid %s: '%s')", + mad_dump_val(IB_NODE_TYPE_F, ntype, sizeof ntype, +@@ -302,7 +296,6 @@ static void dump_unicast_tables(ibnd_node_t *node, int startl, int endl, + { + ib_portid_t * portid = &node->path_portid; + char lft[IB_SMP_DATA_SIZE] = { 0 }; +- char nd[IB_SMP_DATA_SIZE + 1] = { 0 }; + char str[200]; + uint64_t nodeguid; + int block, i, e, top; +@@ -315,7 +308,6 @@ static void dump_unicast_tables(ibnd_node_t *node, int startl, int endl, + mad_decode_field(node->switchinfo, IB_SW_LINEAR_FDB_TOP_F, &top); + nodeguid = node->guid; + nports = node->numports; +- memcpy(nd, node->nodedesc, strlen(node->nodedesc)); + + if (!endl || endl > top) + endl = top; +@@ -326,7 +318,7 @@ static void dump_unicast_tables(ibnd_node_t *node, int startl, int endl, + endl = IB_MAX_UCAST_LID; + } + +- mapnd = remap_node_name(node_name_map, nodeguid, nd); ++ mapnd = remap_node_name(node_name_map, nodeguid, node->nodedesc); + + printf("Unicast lids [0x%x-0x%x] of switch %s guid 0x%016" PRIx64 + " (%s):\n", startl, endl, portid2str(portid), nodeguid, +-- +2.39.1 + diff --git a/SOURCES/0002-systemd-drop-Protect-options-not-supported-in-RHEL-8.patch b/SOURCES/0002-systemd-drop-Protect-options-not-supported-in-RHEL-8.patch new file mode 100644 index 0000000..ced3d13 --- /dev/null +++ b/SOURCES/0002-systemd-drop-Protect-options-not-supported-in-RHEL-8.patch @@ -0,0 +1,52 @@ +From 30f781482122db14f7bf89cb31db1c6aba30bba8 Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Wed, 8 Feb 2023 15:19:17 +0100 +Subject: [PATCH 2/2] systemd: drop Protect* options not supported in RHEL 8 + systemd + +Signed-off-by: Michal Schmidt +--- + ibacm/ibacm.service.in | 2 -- + iwpmd/iwpmd.service.in | 2 -- + rdma-ndd/rdma-ndd.service.in | 1 - + 3 files changed, 5 deletions(-) + +diff --git a/ibacm/ibacm.service.in b/ibacm/ibacm.service.in +index 56538beb2b15..535e1aeae326 100644 +--- a/ibacm/ibacm.service.in ++++ b/ibacm/ibacm.service.in +@@ -19,8 +19,6 @@ Type=notify + ExecStart=@CMAKE_INSTALL_FULL_SBINDIR@/ibacm --systemd + ProtectSystem=full + ProtectHome=true +-ProtectHostname=true +-ProtectKernelLogs=true + + [Install] + Also=ibacm.socket +diff --git a/iwpmd/iwpmd.service.in b/iwpmd/iwpmd.service.in +index 47afebd8ad02..dd4dc750c26c 100644 +--- a/iwpmd/iwpmd.service.in ++++ b/iwpmd/iwpmd.service.in +@@ -26,7 +26,5 @@ ExecStart=@CMAKE_INSTALL_FULL_SBINDIR@/iwpmd --systemd + LimitNOFILE=102400 + ProtectSystem=full + ProtectHome=true +-ProtectHostname=true +-ProtectKernelLogs=true + + # iwpmd is automatically wanted by udev when an iWarp RDMA device is present +diff --git a/rdma-ndd/rdma-ndd.service.in b/rdma-ndd/rdma-ndd.service.in +index 368deec00b2c..9cbe93fb6900 100644 +--- a/rdma-ndd/rdma-ndd.service.in ++++ b/rdma-ndd/rdma-ndd.service.in +@@ -22,6 +22,5 @@ Restart=always + ExecStart=@CMAKE_INSTALL_FULL_SBINDIR@/rdma-ndd --systemd + ProtectSystem=full + ProtectHome=true +-ProtectKernelLogs=true + + # rdma-ndd is automatically wanted by udev when an RDMA device with a node description is present +-- +2.39.1 + diff --git a/SOURCES/0003-CMakeLists-disable-providers-that-were-not-enabled-i.patch b/SOURCES/0003-CMakeLists-disable-providers-that-were-not-enabled-i.patch new file mode 100644 index 0000000..84f1b16 --- /dev/null +++ b/SOURCES/0003-CMakeLists-disable-providers-that-were-not-enabled-i.patch @@ -0,0 +1,53 @@ +From eff6b07e92a1674818c5d8c9993651dbbeabccf4 Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Wed, 1 Feb 2023 15:24:23 +0100 +Subject: [PATCH 3/5] CMakeLists: disable providers that were not enabled in + RHEL 9.1 + +Doing a package rebase, but don't want to enable additional drivers +unless explicitly requested. + +Upstream Status: RHEL only + +Signed-off-by: Michal Schmidt +--- + CMakeLists.txt | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index bac10516bb85..b7eca65f0fe2 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -711,23 +711,23 @@ add_subdirectory(providers/bnxt_re) + add_subdirectory(providers/cxgb4) # NO SPARSE + add_subdirectory(providers/efa) + add_subdirectory(providers/efa/man) +-add_subdirectory(providers/erdma) ++#add_subdirectory(providers/erdma) + add_subdirectory(providers/hns) + add_subdirectory(providers/irdma) +-add_subdirectory(providers/mana) +-add_subdirectory(providers/mana/man) ++#add_subdirectory(providers/mana) ++#add_subdirectory(providers/mana/man) + add_subdirectory(providers/mlx4) + add_subdirectory(providers/mlx4/man) + add_subdirectory(providers/mlx5) + add_subdirectory(providers/mlx5/man) +-add_subdirectory(providers/mthca) +-add_subdirectory(providers/ocrdma) ++#add_subdirectory(providers/mthca) ++#add_subdirectory(providers/ocrdma) + add_subdirectory(providers/qedr) + add_subdirectory(providers/vmw_pvrdma) + endif() + + add_subdirectory(providers/hfi1verbs) +-add_subdirectory(providers/ipathverbs) ++#add_subdirectory(providers/ipathverbs) + add_subdirectory(providers/rxe) + add_subdirectory(providers/rxe/man) + add_subdirectory(providers/siw) +-- +2.39.1 + diff --git a/SOURCES/0003-libibnetdisc-fix-printing-a-possibly-non-NUL-termina.patch b/SOURCES/0003-libibnetdisc-fix-printing-a-possibly-non-NUL-termina.patch new file mode 100644 index 0000000..2a5cc84 --- /dev/null +++ b/SOURCES/0003-libibnetdisc-fix-printing-a-possibly-non-NUL-termina.patch @@ -0,0 +1,38 @@ +From 45fcc7ad41216a93bafb452f7d7a4507d52722cd Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Wed, 1 Feb 2023 23:30:52 +0100 +Subject: [PATCH 3/3] libibnetdisc: fix printing a possibly non-NUL-terminated + string + +Found by a static check (covscan). + +Fixes: d974c4e398d2 ("Fix max length of node description (ibnetdiscover and smpquery)") +Signed-off-by: Michal Schmidt +--- + libibnetdisc/chassis.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/libibnetdisc/chassis.c b/libibnetdisc/chassis.c +index a3ec1d82807c..bc1a8aff8acb 100644 +--- a/libibnetdisc/chassis.c ++++ b/libibnetdisc/chassis.c +@@ -597,7 +597,7 @@ static int fill_mellanox_chassis_record(ibnd_node_t * node) + int p = 0; + ibnd_port_t *port; + +- char node_desc[IB_SMP_DATA_SIZE]; ++ char node_desc[IB_SMP_DATA_SIZE + 1]; + char *system_name; + char *system_type; + char *system_slot_name; +@@ -617,6 +617,7 @@ static int fill_mellanox_chassis_record(ibnd_node_t * node) + */ + + memcpy(node_desc, node->nodedesc, IB_SMP_DATA_SIZE); ++ node_desc[IB_SMP_DATA_SIZE] = '\0'; + + IBND_DEBUG("fill_mellanox_chassis_record: node_desc:%s \n",node_desc); + +-- +2.39.1 + diff --git a/SOURCES/9998-kernel-boot-Do-not-perform-device-rename-on-OPA-devi.patch b/SOURCES/9998-kernel-boot-Do-not-perform-device-rename-on-OPA-devi.patch new file mode 100644 index 0000000..7ee61e6 --- /dev/null +++ b/SOURCES/9998-kernel-boot-Do-not-perform-device-rename-on-OPA-devi.patch @@ -0,0 +1,42 @@ +From 1c63f25b55ca4f5317e1c85b548469bbc747e147 Mon Sep 17 00:00:00 2001 +From: "Goldman, Adam" +Date: Tue, 4 Feb 2020 08:55:20 -0500 +Subject: [PATCH] kernel-boot: Do not perform device rename on OPA devices + +PSM2 will not run with recent rdma-core releases. Several tools and +libraries like PSM2, require the hfi1 name to be present. + +Recent rdma-core releases added a new feature to rename kernel devices, +but the default configuration will not work with hfi1 fabrics. + +Related opa-psm2 github issue: + https://github.com/intel/opa-psm2/issues/43 + +Fixes: 5b4099d47be3 ("kernel-boot: Perform device rename to make stable names") +Reviewed-by: Mike Marciniszyn +Signed-off-by: Goldman, Adam +--- + kernel-boot/rdma-persistent-naming.rules | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/kernel-boot/rdma-persistent-naming.rules b/kernel-boot/rdma-persistent-naming.rules +index 6f9c53a5..3ce34ea9 100644 +--- a/kernel-boot/rdma-persistent-naming.rules ++++ b/kernel-boot/rdma-persistent-naming.rules +@@ -26,10 +26,10 @@ + # Device type = RoCE + # mlx5_0 -> rocex525400c0fe123455 + # +-ACTION=="add", SUBSYSTEM=="infiniband", PROGRAM="rdma_rename %k NAME_FALLBACK" ++ACTION=="add", SUBSYSTEM=="infiniband", KERNEL!="hfi1*", PROGRAM="rdma_rename %k NAME_FALLBACK" + + # Example: + # * NAME_FIXED + # fixed name for specific board_id + # +-#ACTION=="add", ATTR{board_id}=="MSF0010110035", SUBSYSTEM=="infiniband", PROGRAM="rdma_rename %k NAME_FIXED myib" +\ No newline at end of file ++#ACTION=="add", ATTR{board_id}=="MSF0010110035", SUBSYSTEM=="infiniband", PROGRAM="rdma_rename %k NAME_FIXED myib" +-- +2.30.1 + diff --git a/SOURCES/udev-keep-NAME_KERNEL-as-default-interface-naming-co.patch b/SOURCES/9999-udev-keep-NAME_KERNEL-as-default-interface-naming-co.patch similarity index 100% rename from SOURCES/udev-keep-NAME_KERNEL-as-default-interface-naming-co.patch rename to SOURCES/9999-udev-keep-NAME_KERNEL-as-default-interface-naming-co.patch diff --git a/SPECS/rdma-core.spec b/SPECS/rdma-core.spec index 5602402..1c7fae1 100644 --- a/SPECS/rdma-core.spec +++ b/SPECS/rdma-core.spec @@ -1,6 +1,6 @@ Name: rdma-core -Version: 41.0 -Release: 1%{?dist} +Version: 44.0 +Release: 2%{?dist}.1 Summary: RDMA core userspace libraries and daemons # Almost everything is licensed under the OFA dual GPLv2, 2 Clause BSD license @@ -16,9 +16,16 @@ Source1: ibdev2netdev # are extracted from libibverbs-26.0-8.el8 . Source2: rxe_cfg Source3: rxe_cfg.8.gz -Patch3: udev-keep-NAME_KERNEL-as-default-interface-naming-co.patch +# 0001-0003: https://github.com/linux-rdma/rdma-core/pull/1308 +Patch1: 0001-util-fix-overflow-in-remap_node_name.patch +Patch2: 0002-infiniband-diags-drop-unnecessary-nodedesc-local-cop.patch +Patch3: 0003-libibnetdisc-fix-printing-a-possibly-non-NUL-termina.patch # RHEL specific patch for OPA ibacm plugin Patch300: 0001-ibacm-acm.c-load-plugin-while-it-is-soft-link.patch +Patch301: 0002-systemd-drop-Protect-options-not-supported-in-RHEL-8.patch +Patch9000: 0003-CMakeLists-disable-providers-that-were-not-enabled-i.patch +Patch9998: 9998-kernel-boot-Do-not-perform-device-rename-on-OPA-devi.patch +Patch9999: 9999-udev-keep-NAME_KERNEL-as-default-interface-naming-co.patch # Do not build static libs by default. %define with_static %{?_with_static: 1} %{?!_with_static: 0} @@ -85,9 +92,9 @@ BuildRequires: make BuildRequires: pandoc %description -RDMA core userspace infrastructure and documentation, including kernel -driver-specific modprobe override configs, IPoIB network scripts, -dracut rules, and the rdma-ndd utility. +RDMA core userspace infrastructure and documentation, including initialization +scripts, kernel driver-specific modprobe override configs, IPoIB network +scripts, dracut rules, and the rdma-ndd utility. %package devel Summary: RDMA core development libraries and headers @@ -107,6 +114,13 @@ Provides: infiniband-diags-devel = %{version}-%{release} Obsoletes: infiniband-diags-devel < %{version}-%{release} Provides: libibmad-devel = %{version}-%{release} Obsoletes: libibmad-devel < %{version}-%{release} +%if %{with_static} +# Since our pkg-config files include private references to these packages they +# need to have their .pc files installed too, even for dynamic linking, or +# pkg-config breaks. +BuildRequires: pkgconfig(libnl-3.0) +BuildRequires: pkgconfig(libnl-route-3.0) +%endif %description devel RDMA core development libraries and headers. @@ -251,8 +265,18 @@ easy, object-oriented access to IB verbs. %prep %setup -q +%patch1 -p1 +%patch2 -p1 %patch3 -p1 %patch300 -p1 +%patch301 -p1 +%if 0%{?fedora} +%patch9998 -p1 +%endif +%if 0%{?rhel} +%patch9000 -p1 +%patch9999 -p1 +%endif %build @@ -307,7 +331,6 @@ mkdir -p %{buildroot}/%{_sysconfdir}/rdma # Red Hat specific glue %global dracutlibdir %{_prefix}/lib/dracut %global sysmodprobedir %{_prefix}/lib/modprobe.d -mkdir -p %{buildroot}%{_sysconfdir}/udev/rules.d mkdir -p %{buildroot}%{_libexecdir} mkdir -p %{buildroot}%{_udevrulesdir} mkdir -p %{buildroot}%{dracutlibdir}/modules.d/05rdma @@ -335,17 +358,11 @@ install -D -m0644 ibacm_opts.cfg %{buildroot}%{_sysconfdir}/rdma/ # Delete the package's init.d scripts rm -rf %{buildroot}/%{_initrddir}/ -# Remove ibverbs provider libs we don't support -rm -f %{buildroot}/%{_libdir}/libibverbs/libcxgb3-rdmav*.so -rm -f %{buildroot}/%{_sysconfdir}/libibverbs.d/cxgb3.driver -rm -f %{buildroot}/%{_libdir}/libibverbs/libocrdma-rdmav*.so -rm -f %{buildroot}/%{_sysconfdir}/libibverbs.d/ocrdma.driver -rm -f %{buildroot}/%{_libdir}/libibverbs/libnes-rdmav*.so -rm -f %{buildroot}/%{_sysconfdir}/libibverbs.d/nes.driver -rm -f %{buildroot}/%{_libdir}/libibverbs/libmthca-rdmav*.so -rm -f %{buildroot}/%{_sysconfdir}/libibverbs.d/mthca.driver -rm -f %{buildroot}/%{_libdir}/libibverbs/libipathverbs-rdmav*.so -rm -f %{buildroot}/%{_sysconfdir}/libibverbs.d/ipathverbs.driver +%ldconfig_scriptlets -n libibverbs + +%ldconfig_scriptlets -n libibumad + +%ldconfig_scriptlets -n librdmacm %post -n rdma-core if [ -x /sbin/udevadm ]; then @@ -354,22 +371,6 @@ if [ -x /sbin/udevadm ]; then /sbin/udevadm trigger --subsystem-match=infiniband_mad --action=change || true fi -%post -n infiniband-diags -p /sbin/ldconfig -%postun -n infiniband-diags -%ldconfig_postun - -%post -n libibverbs -p /sbin/ldconfig -%postun -n libibverbs -%ldconfig_postun - -%post -n libibumad -p /sbin/ldconfig -%postun -n libibumad -%ldconfig_postun - -%post -n librdmacm -p /sbin/ldconfig -%postun -n librdmacm -%ldconfig_postun - %post -n ibacm %systemd_post ibacm.service %preun -n ibacm @@ -394,20 +395,21 @@ fi %files %dir %{_sysconfdir}/rdma %dir %{_docdir}/%{name} +%doc %{_docdir}/%{name}/70-persistent-ipoib.rules %doc %{_docdir}/%{name}/README.md +%doc %{_docdir}/%{name}/rxe.md %doc %{_docdir}/%{name}/udev.md +%doc %{_docdir}/%{name}/tag_matching.md %config(noreplace) %{_sysconfdir}/rdma/mlx4.conf %config(noreplace) %{_sysconfdir}/rdma/modules/infiniband.conf %config(noreplace) %{_sysconfdir}/rdma/modules/iwarp.conf %config(noreplace) %{_sysconfdir}/rdma/modules/opa.conf %config(noreplace) %{_sysconfdir}/rdma/modules/rdma.conf %config(noreplace) %{_sysconfdir}/rdma/modules/roce.conf -%config(noreplace) %{_sysconfdir}/udev/rules.d/* %dir %{_sysconfdir}/modprobe.d %ifnarch s390 %config(noreplace) %{_sysconfdir}/modprobe.d/mlx4.conf %endif -%config(noreplace) %{_sysconfdir}/modprobe.d/truescale.conf %{_unitdir}/rdma-hw.target %{_unitdir}/rdma-load-modules@.service %dir %{dracutlibdir} @@ -425,7 +427,6 @@ fi %dir %{sysmodprobedir} %{sysmodprobedir}/libmlx4.conf %{_libexecdir}/mlx4-setup.sh -%{_libexecdir}/truescale-serdes.cmds %{_sbindir}/rdma-ndd %{_bindir}/ibdev2netdev %{_unitdir}/rdma-ndd.service @@ -539,13 +540,6 @@ fi %endif %config(noreplace) %{_sysconfdir}/libibverbs.d/*.driver %doc %{_docdir}/%{name}/libibverbs.md -%doc %{_docdir}/%{name}/rxe.md -%doc %{_docdir}/%{name}/tag_matching.md -%{_mandir}/man7/rxe* -%ifnarch s390 -%{_mandir}/man7/mlx4dv* -%{_mandir}/man7/mlx5dv* -%endif %files -n libibverbs-utils %{_bindir}/ibv_* @@ -582,7 +576,7 @@ fi %files -n librdmacm %{_libdir}/librdmacm*.so.* %dir %{_libdir}/rsocket -%{_libdir}/rsocket/librspreload.so* +%{_libdir}/rsocket/*.so* %doc %{_docdir}/%{name}/librdmacm.md %{_mandir}/man7/rsocket.* @@ -638,6 +632,14 @@ fi %endif %changelog +* Wed Feb 08 2023 Michal Schmidt - 44.0-2.1 +- Do not use unsupported Protect* options in systemd unit files. +- Resolves: rhbz#2141462 + +* Wed Feb 08 2023 Michal Schmidt - 44.0-2 +- Update to upstream release v44.0 +- Resolves: rhbz#2110934, rhbz#2112931, rhbz#2142691 + * Fri Aug 05 2022 Michal Schmidt - 41.0-1 - Update to upstream release v41.0 - Resolves: rhbz#2049518