diff options
| author | Pawel Biernacki <kaktus@FreeBSD.org> | 2020-02-27 13:12:14 +0000 |
|---|---|---|
| committer | Pawel Biernacki <kaktus@FreeBSD.org> | 2020-02-27 13:12:14 +0000 |
| commit | 4312ebfe0bbf314a0d5d1b6d14d003673255dd0d (patch) | |
| tree | fd34811eab00afcf77454bbbec22e9ec812278ee /sys/dev/random | |
| parent | be24ad5aac390c3ce60ff112fb92293352f6fcf8 (diff) | |
Notes
Diffstat (limited to 'sys/dev/random')
| -rw-r--r-- | sys/dev/random/fortuna.c | 12 | ||||
| -rw-r--r-- | sys/dev/random/ivy.c | 2 | ||||
| -rw-r--r-- | sys/dev/random/random_harvestq.c | 16 | ||||
| -rw-r--r-- | sys/dev/random/random_infra.c | 5 |
4 files changed, 20 insertions, 15 deletions
diff --git a/sys/dev/random/fortuna.c b/sys/dev/random/fortuna.c index 4b04a563b426..5b6a8a36c16d 100644 --- a/sys/dev/random/fortuna.c +++ b/sys/dev/random/fortuna.c @@ -299,14 +299,14 @@ random_fortuna_init_alg(void *unused __unused) 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), diff --git a/sys/dev/random/ivy.c b/sys/dev/random/ivy.c index 1f6f5273bf7d..8f1d990b9e45 100644 --- a/sys/dev/random/ivy.c +++ b/sys/dev/random/ivy.c @@ -60,7 +60,7 @@ static struct random_source random_ivy = { .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, diff --git a/sys/dev/random/random_harvestq.c b/sys/dev/random/random_harvestq.c index 4cf628bde5e0..87e5f63296cf 100644 --- a/sys/dev/random/random_harvestq.c +++ b/sys/dev/random/random_harvestq.c @@ -111,7 +111,7 @@ struct random_sources { 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 @@ random_check_uint_harvestmask(SYSCTL_HANDLER_ARGS) (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 @@ random_print_harvestmask(SYSCTL_HANDLER_ARGS) 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 @@ random_print_harvestmask_symbolic(SYSCTL_HANDLER_ARGS) 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 diff --git a/sys/dev/random/random_infra.c b/sys/dev/random/random_infra.c index 0ea0b1065212..1656dfb99a5a 100644 --- a/sys/dev/random/random_infra.c +++ b/sys/dev/random/random_infra.c @@ -38,9 +38,10 @@ __FBSDID("$FreeBSD$"); #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"); /* |
