Page MenuHomeFreeBSD

D53255.id164846.diff
No OneTemporary

D53255.id164846.diff

diff --git a/sys/dev/random/fenestrasX/fx_pool.c b/sys/dev/random/fenestrasX/fx_pool.c
--- a/sys/dev/random/fenestrasX/fx_pool.c
+++ b/sys/dev/random/fenestrasX/fx_pool.c
@@ -127,7 +127,7 @@
*/
static const struct fxrng_ent_char {
const struct fxrng_ent_cls *entc_cls;
-} fxrng_ent_char[ENTROPYSOURCE] = {
+} fxrng_ent_char[] = {
[RANDOM_CACHED] = {
.entc_cls = &fxrng_hi_push,
},
@@ -207,6 +207,8 @@
.entc_cls = &fxrng_hi_push,
},
};
+CTASSERT(nitems(fxrng_ent_char) == ENTROPYSOURCE);
+CTASSERT(ENTROPYSOURCE <= sizeof(hc_source_mask) * NBBY;
/* Useful for single-bit-per-source state. */
BITSET_DEFINE(fxrng_bits, ENTROPYSOURCE);
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
@@ -88,7 +88,7 @@
static __read_mostly bool epoch_inited;
static __read_mostly epoch_t rs_epoch;
-static const char *random_source_descr[ENTROPYSOURCE];
+static const char *random_source_descr[];
/*
* How many events to queue up. We create this many items in
@@ -647,7 +647,7 @@
random_print_harvestmask, "A",
"Entropy harvesting mask (printable)");
-static const char *random_source_descr[ENTROPYSOURCE] = {
+static const char *random_source_descr[] = {
[RANDOM_CACHED] = "CACHED",
[RANDOM_ATTACH] = "ATTACH",
[RANDOM_KEYBOARD] = "KEYBOARD",
@@ -680,6 +680,8 @@
[RANDOM_PURE_ARM_TRNG] = "PURE_ARM_TRNG",
/* "ENTROPYSOURCE" */
};
+CTASSERT(nitems(random_source_descr) == ENTROPYSOURCE);
+CTASSERT(ENTROPYSOURCE <= sizeof(hc_source_mask) * NBBY);
static int
random_print_harvestmask_symbolic(SYSCTL_HANDLER_ARGS)

File Metadata

Mime Type
text/plain
Expires
Thu, Oct 1, 1:49 PM (22 h, 12 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
40017646
Default Alt Text
D53255.id164846.diff (1 KB)

Event Timeline