aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2017-09-29 12:30:52 +0200
committerFelix Fietkau <nbd@nbd.name>2017-09-29 12:32:44 +0200
commite64463ebde554071431514925825e2c30f2b6998 (patch)
tree9cae2f63d8a34ee00292344ec3e592dfd2df373f
parent657f2a1ff8f3f8b859bd10240394467ebf5ee05d (diff)
downloadupstream-e64463ebde554071431514925825e2c30f2b6998.tar.gz
upstream-e64463ebde554071431514925825e2c30f2b6998.tar.bz2
upstream-e64463ebde554071431514925825e2c30f2b6998.zip
util-linux: avoid using the getrandom syscall
getrandom blocks until the random pool is being initialized. Unfortunately, this code is being called early during init to create the overlay filesystem, on some devices leaving little chance for a successful random pool init. True randomness is not that important here, so fix this issue by sticking to using /dev/urandom, like in older versions of this code. Signed-off-by: Felix Fietkau <nbd@nbd.name>
-rw-r--r--package/utils/util-linux/patches/100-use_urandom.patch14
1 files changed, 14 insertions, 0 deletions
diff --git a/package/utils/util-linux/patches/100-use_urandom.patch b/package/utils/util-linux/patches/100-use_urandom.patch
new file mode 100644
index 0000000000..848f2f40c2
--- /dev/null
+++ b/package/utils/util-linux/patches/100-use_urandom.patch
@@ -0,0 +1,14 @@
+--- a/lib/randutils.c
++++ b/lib/randutils.c
+@@ -25,6 +25,11 @@
+ #define THREAD_LOCAL static
+ #endif
+
++/* force /dev/urandom to avoid hanging on early boot */
++#undef HAVE_GETRANDOM
++#undef SYS_getrandom
++#undef __NR_getrandom
++
+ #ifdef HAVE_GETRANDOM
+ # include <sys/random.h>
+ #elif defined (__linux__)