Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F140489524
D46693.id143592.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
D46693.id143592.diff
View Options
diff --git a/sys/dev/random/fortuna.h b/sys/dev/random/fortuna.h
--- a/sys/dev/random/fortuna.h
+++ b/sys/dev/random/fortuna.h
@@ -27,6 +27,10 @@
#ifndef SYS_DEV_RANDOM_FORTUNA_H_INCLUDED
#define SYS_DEV_RANDOM_FORTUNA_H_INCLUDED
+/* Defined in FS&K */
+#define RANDOM_FORTUNA_NPOOLS 32 /* The number of accumulation pools */
+#define RANDOM_FORTUNA_DEFPOOLSIZE 64 /* The default pool size/length for a (re)seed */
+
#ifdef _KERNEL
typedef struct mtx mtx_t;
#define RANDOM_RESEED_INIT_LOCK(x) mtx_init(&fortuna_state.fs_mtx, "reseed mutex", NULL, MTX_DEF)
diff --git a/sys/dev/random/fortuna.c b/sys/dev/random/fortuna.c
--- a/sys/dev/random/fortuna.c
+++ b/sys/dev/random/fortuna.c
@@ -71,8 +71,6 @@
#include <dev/random/fortuna.h>
/* Defined in FS&K */
-#define RANDOM_FORTUNA_NPOOLS 32 /* The number of accumulation pools */
-#define RANDOM_FORTUNA_DEFPOOLSIZE 64 /* The default pool size/length for a (re)seed */
#define RANDOM_FORTUNA_MAX_READ (1 << 20) /* Max bytes from AES before rekeying */
#define RANDOM_FORTUNA_BLOCKS_PER_KEY (1 << 16) /* Max blocks from AES before rekeying */
CTASSERT(RANDOM_FORTUNA_BLOCKS_PER_KEY * RANDOM_BLOCKSIZE ==
diff --git a/sys/dev/random/random_harvestq.c b/sys/dev/random/random_harvestq.c
--- a/sys/dev/random/random_harvestq.c
+++ b/sys/dev/random/random_harvestq.c
@@ -54,6 +54,7 @@
#include <crypto/rijndael/rijndael-api-fst.h>
#include <crypto/sha2/sha256.h>
+#include <dev/random/fortuna.h>
#include <dev/random/hash.h>
#include <dev/random/randomdev.h>
#include <dev/random/random_harvestq.h>
@@ -259,8 +260,8 @@
* stuck for a few seconds with random_kthread gradually collecting a
* small chunk of entropy every 1 / RANDOM_KTHREAD_HZ seconds.
*
- * The value 64 below is RANDOM_FORTUNA_DEFPOOLSIZE, i.e. chosen to
- * fill Fortuna's pools in the default configuration. With another
+ * We collect RANDOM_FORTUNA_DEFPOOLSIZE bytes per pool, i.e. enough
+ * to fill Fortuna's pools in the default configuration. With another
* PRNG or smaller pools for Fortuna, we might collect more entropy
* than needed to fill the pools, but this is harmless; alternatively,
* a different PRNG, larger pools, or fast entropy sources which are
@@ -270,8 +271,8 @@
* try again for a large amount of entropy.
*/
if (!p_random_alg_context->ra_seeded())
- npools = howmany(p_random_alg_context->ra_poolcount * 64,
- sizeof(entropy));
+ npools = howmany(p_random_alg_context->ra_poolcount *
+ RANDOM_FORTUNA_DEFPOOLSIZE, sizeof(entropy));
/*
* Step over all of live entropy sources, and feed their output
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Thu, Dec 25, 1:58 PM (22 m, 2 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
27248644
Default Alt Text
D46693.id143592.diff (2 KB)
Attached To
Mode
D46693: random: Avoid magic numbers
Attached
Detach File
Event Timeline
Log In to Comment