haveged: fix CPU cache size detection

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@toradex.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Stefan Agner 2019-06-06 16:09:14 +02:00 committed by Khem Raj
parent 9fca96ad91
commit 2ab1351087
2 changed files with 21 additions and 0 deletions

View File

@ -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);
}
}

View File

@ -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"