[oe] [meta-oe][PATCH] haveged: fix CPU cache size detection

Stefan Agner stefan at agner.ch
Thu Jun 6 14:09:14 UTC 2019


From: Stefan Agner <stefan.agner at toradex.com>

Fix ENOMEM error in case the kernel reports cache size of -1. This
lead to the following error when starting haveged:
  haveged starting up
  haveged: Couldn't initialize HAVEGE rng 5

Signed-off-by: Stefan Agner <stefan.agner at toradex.com>
---
 .../haveged/fix-cpu-cache-size-detection.patch       | 20 ++++++++++++++++++++
 meta-oe/recipes-extended/haveged/haveged_1.9.4.bb    |  1 +
 2 files changed, 21 insertions(+)
 create mode 100644 meta-oe/recipes-extended/haveged/haveged/fix-cpu-cache-size-detection.patch

diff --git a/meta-oe/recipes-extended/haveged/haveged/fix-cpu-cache-size-detection.patch b/meta-oe/recipes-extended/haveged/haveged/fix-cpu-cache-size-detection.patch
new file mode 100644
index 000000000..5b68f1966
--- /dev/null
+++ b/meta-oe/recipes-extended/haveged/haveged/fix-cpu-cache-size-detection.patch
@@ -0,0 +1,20 @@
+Some ARM cpus does not report the cache size or say it is -1
+
+https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=866306
+
+Upstream-status: Pending
+
+Index: haveged-1.9.2/src/havegetune.c
+===================================================================
+--- haveged-1.9.2.orig/src/havegetune.c
++++ haveged-1.9.2/src/havegetune.c
+@@ -795,6 +795,9 @@ static int vfs_configInfoCache(
+          ctype = vfs_configFile(pAnchor, path, vfs_configType);
+          strcpy(path+plen, "size");
+          size  = vfs_configFile(pAnchor, path, vfs_configInt);
++         if (size == -1) {
++             size = ctype == 'I' ? GENERIC_ICACHE : GENERIC_DCACHE;
++         }
+          cfg_cacheAdd(pAnchor, SRC_VFS_INDEX,  pArgs[1], level, ctype, size);
+          }
+      }
diff --git a/meta-oe/recipes-extended/haveged/haveged_1.9.4.bb b/meta-oe/recipes-extended/haveged/haveged_1.9.4.bb
index 32aab59f1..d0e1a29dd 100644
--- a/meta-oe/recipes-extended/haveged/haveged_1.9.4.bb
+++ b/meta-oe/recipes-extended/haveged/haveged_1.9.4.bb
@@ -9,6 +9,7 @@ LIC_FILES_CHKSUM="file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
 SRCREV = "faa40ff345af194d3253f5fb030403e3c9831c36"
 SRC_URI = "git://github.com/jirka-h/haveged.git \
            file://haveged-init.d-Makefile.am-add-missing-dependency.patch \
+           file://fix-cpu-cache-size-detection.patch \
 "
 S = "${WORKDIR}/git"
 
-- 
2.13.6



More information about the Openembedded-devel mailing list