From 9b1cf7955b9e0c440717f46237157127a28bc3c8 Mon Sep 17 00:00:00 2001 From: eabdullin Date: Tue, 23 Sep 2025 12:25:58 +0000 Subject: [PATCH] import UBI rdma-core-54.0-2.el10_0 --- ...the-data-copy-during-the-low-latency.patch | 34 +++++++++++++++++++ rdma-core.spec | 7 +++- 2 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 0001-bnxt_re-lib-Fix-the-data-copy-during-the-low-latency.patch diff --git a/0001-bnxt_re-lib-Fix-the-data-copy-during-the-low-latency.patch b/0001-bnxt_re-lib-Fix-the-data-copy-during-the-low-latency.patch new file mode 100644 index 0000000..08ac16b --- /dev/null +++ b/0001-bnxt_re-lib-Fix-the-data-copy-during-the-low-latency.patch @@ -0,0 +1,34 @@ +From 9558f227b158291bc3eb7044938d711e388802ce Mon Sep 17 00:00:00 2001 +From: Selvin Xavier +Date: Mon, 10 Mar 2025 07:38:03 -0700 +Subject: [PATCH] bnxt_re/lib: Fix the data copy during the low latency push + path + +The pointer used in the destination buffer is not correctly +type casted, because of which the data gets corrupted while copying. +The issue is seen in the previous adapters that has the low latency +push enabled. Fixing the pointer casting. + +Fixes: 52d0870c3eac ("bnxt_re/lib: Enable low latency push") +Reported-By: Kamal Heib +Signed-off-by: Selvin Xavier +--- + providers/bnxt_re/main.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/providers/bnxt_re/main.h b/providers/bnxt_re/main.h +index 7a9d48e1cf01..067b0c18df8d 100644 +--- a/providers/bnxt_re/main.h ++++ b/providers/bnxt_re/main.h +@@ -598,7 +598,7 @@ static inline void bnxt_re_copy_data_to_pb(struct bnxt_re_push_buffer *pbuf, + int indx; + + for (indx = 0; indx < idx; indx++) { +- dst = (uintptr_t *)(pbuf->pbuf + 2 * (indx + offset)); ++ dst = (uintptr_t *)(pbuf->pbuf) + 2 * indx + offset; + src = (uintptr_t *)(pbuf->wqe[indx]); + mmio_write64(dst, *src); + +-- +2.49.0 + diff --git a/rdma-core.spec b/rdma-core.spec index 6c92659..3fa25d3 100644 --- a/rdma-core.spec +++ b/rdma-core.spec @@ -2,7 +2,7 @@ ## (rpmautospec version 0.6.5) ## RPMAUTOSPEC: autorelease, autochangelog %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: - release_number = 1; + release_number = 2; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} @@ -20,6 +20,7 @@ Summary: RDMA core userspace libraries and daemons License: GPLv2 or BSD Url: https://github.com/linux-rdma/rdma-core Source: https://github.com/linux-rdma/rdma-core/releases/download/v%{version}/%{name}-%{version}.tar.gz +Patch0001: 0001-bnxt_re-lib-Fix-the-data-copy-during-the-low-latency.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} @@ -290,6 +291,7 @@ easy, object-oriented access to IB verbs. %prep %setup -q +%patch 0001 -p1 %if 0%{?rhel} %patch 9999 -p1 %endif @@ -681,6 +683,9 @@ fi %changelog ## START: Generated by rpmautospec +* Mon Apr 28 2025 Kamal Heib - 54.0-2 +- Fix data corruption in bnxt_re + * Mon Nov 04 2024 Kamal Heib - 54.0-1 - Update to upstream release v54.0