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>master
parent
657f2a1ff8
commit
e64463ebde
@ -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__)
|
Loading…
Reference in new issue