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š <fjanus@redhat.com>
+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š <fjanus@redhat.com> 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š <fjanus@redhat.com> 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 <mmuzila@redhat.com> 5.3.28-40
 - Resolves: CVE-2019-2708
 - Resolves: #1856237