From f1b4ccd68c155b67aab9a623581717f0a49fcc60 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Sep 21 2021 07:16:15 +0000 Subject: import libdb-5.3.28-42.el8_4 --- diff --git a/SOURCES/db-5.3.28-mmap-high-cpu-usage.patch b/SOURCES/db-5.3.28-mmap-high-cpu-usage.patch new file mode 100644 index 0000000..8e0ea98 --- /dev/null +++ b/SOURCES/db-5.3.28-mmap-high-cpu-usage.patch @@ -0,0 +1,29 @@ +Author: Filip Januš +Date: 6 Sep 2021 +Related: https://bugzilla.redhat.com/show_bug.cgi?id=1992402 + +Changing the size to max if set in the environment. + +Do it also every-time on aarch64 as this issue caused rpm to hang staring 8.4.0 +(likely influenced by changes in other components) and rpm is not able to set +the environment this way. + +diff -ur db-5.3.28/src/os/os_map.c db-patched/src/os/os_map.c +--- db-5.3.28/src/os/os_map.c 2013-09-09 17:35:09.000000000 +0200 ++++ db-patched/src/os/os_map.c 2021-09-08 21:45:16.914146219 +0200 +@@ -213,7 +213,14 @@ + if (rp->max < rp->size) + rp->max = rp->size; + if (ret == 0 && F_ISSET(infop, REGION_CREATE)) { +- if (F_ISSET(dbenv, DB_ENV_REGION_INIT)) ++#ifdef HAVE_MLOCK ++ if (F_ISSET(env, ENV_LOCKDOWN)) ++ rp->size = rp->max; ++#endif ++#if defined(__aarch64__) ++ rp->size = rp->max; ++#endif ++ if (F_ISSET(dbenv, DB_ENV_REGION_INIT)) + ret = __db_file_write(env, infop->fhp, + rp->size / MEGABYTE, rp->size % MEGABYTE, 0x00); + else diff --git a/SPECS/libdb.spec b/SPECS/libdb.spec index 165234a..83cc593 100644 --- a/SPECS/libdb.spec +++ b/SPECS/libdb.spec @@ -4,7 +4,7 @@ Summary: The Berkeley DB database library for C Name: libdb Version: 5.3.28 -Release: 40%{?dist} +Release: 42%{?dist} Source0: http://download.oracle.com/berkeley-db/db-%{version}.tar.gz Source1: http://download.oracle.com/berkeley-db/db.1.85.tar.gz # For mt19937db.c @@ -73,6 +73,7 @@ Patch202: db-5.3.28-add_sys_file_h.patch # https://cov01.lab.eng.brq.redhat.com/el8-results/el8/libdb-5.3.28-31.el8+7/scan-results-imp.html#def44 # https://cov01.lab.eng.brq.redhat.com/el8-results/el8/libdb-5.3.28-31.el8+7/scan-results-imp.html#def45 Patch203: db-5.3.28-wbool_compare.patch +Patch42: db-5.3.28-mmap-high-cpu-usage.patch URL: http://www.oracle.com/database/berkeley-db/ License: BSD and LGPLv2 and Sleepycat @@ -282,7 +283,7 @@ popd %patch201 -p1 %patch202 -p1 %patch203 -p1 - +%patch42 -p1 # Delete internal AES implementation @@ -504,6 +505,15 @@ rm -rf ${RPM_BUILD_ROOT} %{_libdir}/libdb_java.so %changelog +* Wed Sep 8 2021 Filip Januš 5.3.28-42 +- Apply the previous change only on aarch64 to limit the risk of unwanted impact +- Resolves: #1992402 + +* Mon Sep 6 2021 Filip Januš 5.3.28-41 +- Bad order of sys calls cause high CPU usage +- Resolves: #1992402 +- Patch no. 42 was added + * Mon Jul 27 2020 Matej Mužila 5.3.28-40 - Resolves: CVE-2019-2708 - Resolves: #1856237