Page MenuHomeFreeBSD

D23841.diff
No OneTemporary

D23841.diff

Index: head/sys/dev/random/fortuna.c
===================================================================
--- head/sys/dev/random/fortuna.c
+++ head/sys/dev/random/fortuna.c
@@ -299,14 +299,14 @@
fortuna_state.fs_lasttime = 0;
random_fortuna_o = SYSCTL_ADD_NODE(&random_clist,
SYSCTL_STATIC_CHILDREN(_kern_random),
- OID_AUTO, "fortuna", CTLFLAG_RW, 0,
+ OID_AUTO, "fortuna", CTLFLAG_RW | CTLFLAG_MPSAFE, 0,
"Fortuna Parameters");
SYSCTL_ADD_PROC(&random_clist,
- SYSCTL_CHILDREN(random_fortuna_o), OID_AUTO,
- "minpoolsize", CTLTYPE_UINT | CTLFLAG_RWTUN,
- &fortuna_state.fs_minpoolsize, RANDOM_FORTUNA_DEFPOOLSIZE,
- random_check_uint_fs_minpoolsize, "IU",
- "Minimum pool size necessary to cause a reseed");
+ SYSCTL_CHILDREN(random_fortuna_o), OID_AUTO, "minpoolsize",
+ CTLTYPE_UINT | CTLFLAG_RWTUN | CTLFLAG_MPSAFE,
+ &fortuna_state.fs_minpoolsize, RANDOM_FORTUNA_DEFPOOLSIZE,
+ random_check_uint_fs_minpoolsize, "IU",
+ "Minimum pool size necessary to cause a reseed");
KASSERT(fortuna_state.fs_minpoolsize > 0, ("random: Fortuna threshold must be > 0 at startup"));
SYSCTL_ADD_BOOL(&random_clist, SYSCTL_CHILDREN(random_fortuna_o),
Index: head/sys/dev/random/ivy.c
===================================================================
--- head/sys/dev/random/ivy.c
+++ head/sys/dev/random/ivy.c
@@ -60,7 +60,7 @@
.rs_read = random_ivy_read
};
-SYSCTL_NODE(_kern_random, OID_AUTO, rdrand, CTLFLAG_RW, 0,
+SYSCTL_NODE(_kern_random, OID_AUTO, rdrand, CTLFLAG_RW | CTLFLAG_MPSAFE, 0,
"rdrand (ivy) entropy source");
static bool acquire_independent_seed_samples = false;
SYSCTL_BOOL(_kern_random_rdrand, OID_AUTO, rdrand_independent_seed,
Index: head/sys/dev/random/random_harvestq.c
===================================================================
--- head/sys/dev/random/random_harvestq.c
+++ head/sys/dev/random/random_harvestq.c
@@ -111,7 +111,7 @@
static CK_LIST_HEAD(sources_head, random_sources) source_list =
CK_LIST_HEAD_INITIALIZER(source_list);
-SYSCTL_NODE(_kern_random, OID_AUTO, harvest, CTLFLAG_RW, 0,
+SYSCTL_NODE(_kern_random, OID_AUTO, harvest, CTLFLAG_RW | CTLFLAG_MPSAFE, 0,
"Entropy Device Parameters");
/*
@@ -305,8 +305,10 @@
(orig_value & user_immutable_mask);
return (0);
}
-SYSCTL_PROC(_kern_random_harvest, OID_AUTO, mask, CTLTYPE_UINT | CTLFLAG_RW,
- NULL, 0, random_check_uint_harvestmask, "IU", "Entropy harvesting mask");
+SYSCTL_PROC(_kern_random_harvest, OID_AUTO, mask,
+ CTLTYPE_UINT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, NULL, 0,
+ random_check_uint_harvestmask, "IU",
+ "Entropy harvesting mask");
/* ARGSUSED */
static int
@@ -326,7 +328,8 @@
return (error);
}
SYSCTL_PROC(_kern_random_harvest, OID_AUTO, mask_bin,
- CTLTYPE_STRING | CTLFLAG_RD, NULL, 0, random_print_harvestmask, "A",
+ CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_MPSAFE, NULL, 0,
+ random_print_harvestmask, "A",
"Entropy harvesting mask (printable)");
static const char *random_source_descr[ENTROPYSOURCE] = {
@@ -387,8 +390,9 @@
return (error);
}
SYSCTL_PROC(_kern_random_harvest, OID_AUTO, mask_symbolic,
- CTLTYPE_STRING | CTLFLAG_RD, NULL, 0, random_print_harvestmask_symbolic,
- "A", "Entropy harvesting mask (symbolic)");
+ CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_MPSAFE, NULL, 0,
+ random_print_harvestmask_symbolic, "A",
+ "Entropy harvesting mask (symbolic)");
/* ARGSUSED */
static void
Index: head/sys/dev/random/random_infra.c
===================================================================
--- head/sys/dev/random/random_infra.c
+++ head/sys/dev/random/random_infra.c
@@ -38,9 +38,10 @@
#include <dev/random/randomdev.h>
/* Set up the sysctl root node for the entropy device */
-SYSCTL_NODE(_kern, OID_AUTO, random, CTLFLAG_RW, 0,
+SYSCTL_NODE(_kern, OID_AUTO, random, CTLFLAG_RW | CTLFLAG_MPSAFE, 0,
"Cryptographically Secure Random Number Generator");
-SYSCTL_NODE(_kern_random, OID_AUTO, initial_seeding, CTLFLAG_RW, 0,
+SYSCTL_NODE(_kern_random, OID_AUTO, initial_seeding,
+ CTLFLAG_RW | CTLFLAG_MPSAFE, 0,
"Initial seeding control and information");
/*

File Metadata

Mime Type
text/plain
Expires
Wed, Jul 15, 6:40 PM (6 h, 11 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
35110289
Default Alt Text
D23841.diff (4 KB)

Event Timeline