From c2a07f92a4df2c90b6b0fb27cf6d635a167a4715 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Tue, 29 Mar 2022 15:44:58 -0400 Subject: [PATCH] import accel-config-3.4.2-1.el8 --- .accel-config.metadata | 2 +- .gitignore | 2 +- ...g-clean-up-double-frees-in-add_group.patch | 34 +++++++++++++++++++ SOURCES/0001-testing-vercheck.patch | 24 +++++++++++++ ...emove-redundant-assignment-in-umwait.patch | 27 +++++++++++++++ SPECS/accel-config.spec | 32 ++++++++++++++--- 6 files changed, 114 insertions(+), 7 deletions(-) create mode 100644 SOURCES/0001-accel-config-clean-up-double-frees-in-add_group.patch create mode 100644 SOURCES/0001-testing-vercheck.patch create mode 100644 SOURCES/0003-accel-config-remove-redundant-assignment-in-umwait.patch diff --git a/.accel-config.metadata b/.accel-config.metadata index 3176c16..5b8780c 100644 --- a/.accel-config.metadata +++ b/.accel-config.metadata @@ -1 +1 @@ -473693e27ca430ea231315da428ba343e1cd5efa SOURCES/accel-config-v3.1.tar.gz +123eb9366ba96580e4795e47f0742551d50cbf53 SOURCES/accel-config-v3.4.2.tar.gz diff --git a/.gitignore b/.gitignore index bec8d9e..097b374 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/accel-config-v3.1.tar.gz +SOURCES/accel-config-v3.4.2.tar.gz diff --git a/SOURCES/0001-accel-config-clean-up-double-frees-in-add_group.patch b/SOURCES/0001-accel-config-clean-up-double-frees-in-add_group.patch new file mode 100644 index 0000000..876b1ac --- /dev/null +++ b/SOURCES/0001-accel-config-clean-up-double-frees-in-add_group.patch @@ -0,0 +1,34 @@ +From a073b40ea293dec87af5f887bb90744ed244e0c9 Mon Sep 17 00:00:00 2001 +From: Jerry Snitselaar +Date: Mon, 18 Oct 2021 15:10:00 -0700 +Subject: [PATCH 1/3] accel-config: clean up double frees in add_group + +free(group) is called after jumping to the err_group label, +so don't call free(group) in paths jumping there. + +Signed-off-by: Jerry Snitselaar +--- + accfg/lib/libaccfg.c | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/accfg/lib/libaccfg.c b/accfg/lib/libaccfg.c +index f4fc17e5ca93..a13be34a7ef5 100644 +--- a/accfg/lib/libaccfg.c ++++ b/accfg/lib/libaccfg.c +@@ -870,13 +870,11 @@ static void *add_group(void *parent, int id, const char *group_base, + group_base_string = strdup(group_base); + if (!group_base_string) { + err(ctx, "conversion of group_base_string failed\n"); +- free(group); + close(dfd); + goto err_group; + } + if (sscanf(basename(group_base_string), + "group%" SCNu64 ".%" SCNu64, &device_id, &group_id) != 2) { +- free(group); + close(dfd); + goto err_group; + } +-- +2.33.0 + diff --git a/SOURCES/0001-testing-vercheck.patch b/SOURCES/0001-testing-vercheck.patch new file mode 100644 index 0000000..b5e188b --- /dev/null +++ b/SOURCES/0001-testing-vercheck.patch @@ -0,0 +1,24 @@ +diff -ur idxd-config-accel-config-v3.4.2/test/dsa_user_test_runner.sh idxd-config-accel-config-v3.4.2-new/test/dsa_user_test_runner.sh +--- idxd-config-accel-config-v3.4.2/test/dsa_user_test_runner.sh 2021-09-28 16:03:05.000000000 -0700 ++++ idxd-config-accel-config-v3.4.2-new/test/dsa_user_test_runner.sh 2021-10-13 08:26:34.098233734 -0700 +@@ -14,7 +14,7 @@ + + [ ! -f "$DSATEST" ] && echo "fail: $LINENO" && exit 1 + +-check_min_kver "5.6" || do_skip "kernel does not support idxd" ++check_min_kver "4.18" || do_skip "kernel does not support idxd" + + # skip if no pasid support as dsa_test does not support operation w/o pasid yet. + [ ! -f "/sys/bus/dsa/devices/$DSA/pasid_enabled" ] && echo "No SVM support" && exit "$EXIT_SKIP" +diff -ur idxd-config-accel-config-v3.4.2/test/libaccfg.c idxd-config-accel-config-v3.4.2-new/test/libaccfg.c +--- idxd-config-accel-config-v3.4.2/test/libaccfg.c 2021-09-28 16:03:05.000000000 -0700 ++++ idxd-config-accel-config-v3.4.2-new/test/libaccfg.c 2021-10-13 08:27:08.099387351 -0700 +@@ -1003,7 +1003,7 @@ + struct kmod_module *mod, *mdev_mod; + struct accfg_device *device; + +- if (!accfg_test_attempt(test, KERNEL_VERSION(5, 6, 0))) ++ if (!accfg_test_attempt(test, KERNEL_VERSION(4, 18, 0))) + return EXIT_SKIP; + + accfg_set_log_priority(ctx, loglevel); diff --git a/SOURCES/0003-accel-config-remove-redundant-assignment-in-umwait.patch b/SOURCES/0003-accel-config-remove-redundant-assignment-in-umwait.patch new file mode 100644 index 0000000..2045397 --- /dev/null +++ b/SOURCES/0003-accel-config-remove-redundant-assignment-in-umwait.patch @@ -0,0 +1,27 @@ +From dc03a40adfaaded6c3e2d9bb0bff2218b187daae Mon Sep 17 00:00:00 2001 +From: Jerry Snitselaar +Date: Mon, 18 Oct 2021 15:47:27 -0700 +Subject: [PATCH 3/3] accel-config: remove redundant assignment in umwait + +Signed-off-by: Jerry Snitselaar +--- + test/dsa.c | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/test/dsa.c b/test/dsa.c +index 5396b1b97d3a..961f5a73990e 100644 +--- a/test/dsa.c ++++ b/test/dsa.c +@@ -393,9 +393,6 @@ static inline int umwait(unsigned long timeout, unsigned int state) + uint32_t timeout_low = (uint32_t)timeout; + uint32_t timeout_high = (uint32_t)(timeout >> 32); + +- timeout_low = (uint32_t)timeout; +- timeout_high = (uint32_t)(timeout >> 32); +- + asm volatile(".byte 0xf2, 0x48, 0x0f, 0xae, 0xf1\t\n" + "setc %0\t\n" + : "=r"(r) +-- +2.33.0 + diff --git a/SPECS/accel-config.spec b/SPECS/accel-config.spec index 1e223f4..75e1f4a 100644 --- a/SPECS/accel-config.spec +++ b/SPECS/accel-config.spec @@ -1,15 +1,18 @@ %global project_name idxd-config Name: accel-config -Version: 3.1 +Version: 3.4.2 Release: 1%{?dist} Summary: Configure accelerator subsystem devices # The entire source code is under GPLv2 except for accel-config # library which is mostly LGPLv2, ccan/list which is BSD-MIT and # the rest of ccan which is CC0. -License: GPLv2 and LGPLv2 and MIT and CC0 +License: GPLv2 and LGPLv2+ and MIT and CC0 URL: https://github.com/intel/%{project_name} Source0: %{URL}/archive/%{name}-v%{version}.tar.gz +Patch0: 0001-testing-vercheck.patch +Patch1: 0001-accel-config-clean-up-double-frees-in-add_group.patch +Patch2: 0003-accel-config-remove-redundant-assignment-in-umwait.patch Requires: %{name}-libs%{?_isa} = %{version}-%{release} BuildRequires: gcc @@ -34,7 +37,7 @@ Utility library for configuring the accelerator subsystem. %package devel Summary: Development files for libaccfg -License: LGPLv2 +License: LGPLv2+ Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description devel @@ -46,19 +49,27 @@ developing applications that use %{name}. Summary: Configuration library for accelerator subsystem devices # All source code of configuration library is LGPLv2, except # ccan/list which is BSD-MIT and the rest of ccan/ which is CC0. -License: LGPLv2 and MIT and CC0 +License: LGPLv2+ and MIT and CC0 Requires: %{name}%{?_isa} = %{version}-%{release} %description libs Libraries for %{name}. +%package test +Summary: Tests for accel-config +License: GPLv2 +Requires: %{name}-libs%{?_isa} = %{version}-%{release} + +%description test +Tests for accel-config command. + %prep %autosetup -p1 -n %{project_name}-%{name}-v%{version} %build echo %{version} > version ./autogen.sh -%configure --disable-static --disable-silent-rules +%configure --disable-static --disable-silent-rules --enable-test %make_build %install @@ -70,6 +81,7 @@ make check %files %license Documentation/COPYING licenses/BSD-MIT licenses/CC0 +%license licenses/accel-config-licenses LICENSE_GPL_2_0 %{_bindir}/%{name} %{_mandir}/man1/%{name}* %{_sysconfdir}/%{name}/%{name}.conf.sample @@ -77,6 +89,7 @@ make check %files libs %doc README.md %license Documentation/COPYING licenses/BSD-MIT licenses/CC0 +%license licenses/libaccel-config-licenses accfg/lib/LICENSE_LGPL_2_1 %{_libdir}/lib%{name}.so.* %files devel @@ -85,7 +98,16 @@ make check %{_libdir}/lib%{name}.so %{_libdir}/pkgconfig/lib%{name}.pc +%files test +%license Documentation/COPYING LICENSE_GPL_2_0 +#%doc test/README.md +%{_datadir}/accel-config/test/* + %changelog +* Thu Sep 09 2021 Jerry Snitselaar - 3.4.2-1 +- Rebase to 3.4.2 and add test subpackage. +resolves: rhbz#1971910 + * Tue May 18 2021 Jerry Snitselaar - 3.1-1 - Rebase to 3.1 release. resolves: rhbz#1920762