summaryrefslogtreecommitdiff
path: root/sys/dev/random/yarrow.c
diff options
context:
space:
mode:
authorMark Murray <markm@FreeBSD.org>2000-07-09 16:00:31 +0000
committerMark Murray <markm@FreeBSD.org>2000-07-09 16:00:31 +0000
commit43975bd56cfb0015b7006d327435d3d51d205d1e (patch)
tree0f9863f88bdb154c92cffa9c682c541310a5ceb1 /sys/dev/random/yarrow.c
parentd0a28baf34fb0696f804bd7d72300ebf611d8eec (diff)
Notes
Diffstat (limited to 'sys/dev/random/yarrow.c')
-rw-r--r--sys/dev/random/yarrow.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/dev/random/yarrow.c b/sys/dev/random/yarrow.c
index dab10b5856fe..c024160a7389 100644
--- a/sys/dev/random/yarrow.c
+++ b/sys/dev/random/yarrow.c
@@ -297,12 +297,16 @@ random_harvest_internal(struct timespec *nanotime, u_int64_t entropy,
struct entropy *bucket;
struct source *source;
struct pool *pool;
+ intrmask_t mask;
#ifdef DEBUG
printf("Random harvest\n");
#endif
if (origin < ENTROPYSOURCE) {
+ /* The reseed task must not be jumped on */
+ mask = splsofttq();
+
which = random_state.which;
pool = &random_state.pool[which];
source = &pool->source[origin];
@@ -340,5 +344,6 @@ random_harvest_internal(struct timespec *nanotime, u_int64_t entropy,
random_state.which = !random_state.which;
}
+ splx(mask);
}
}