Module Name: src
Committed By: joerg
Date: Mon Sep 8 17:41:11 UTC 2014
Modified Files:
src/sys/ufs/chfs: chfs_gc.c
Log Message:
Timestamps are bad sources of entropy, so just use cprng_fast32.
To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/sys/ufs/chfs/chfs_gc.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/ufs/chfs/chfs_gc.c
diff -u src/sys/ufs/chfs/chfs_gc.c:1.6 src/sys/ufs/chfs/chfs_gc.c:1.7
--- src/sys/ufs/chfs/chfs_gc.c:1.6 Mon Sep 1 16:46:56 2014
+++ src/sys/ufs/chfs/chfs_gc.c Mon Sep 8 17:41:11 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: chfs_gc.c,v 1.6 2014/09/01 16:46:56 he Exp $ */
+/* $NetBSD: chfs_gc.c,v 1.7 2014/09/08 17:41:11 joerg Exp $ */
/*-
* Copyright (c) 2010 Department of Software Engineering,
@@ -32,6 +32,7 @@
* SUCH DAMAGE.
*/
+#include <sys/cprng.h>
#include "chfs.h"
void chfs_gc_release_inode(struct chfs_mount *,
@@ -351,10 +352,7 @@ find_gc_block(struct chfs_mount *chmp)
KASSERT(mutex_owned(&chmp->chm_lock_mountfields));
/* Get a random number. */
- struct timespec now;
- vfs_timestamp(&now);
-
- int n = now.tv_nsec % 128;
+ uint32_t n = cprng_fast32() % 128;
again:
/* Find an eraseblock queue. */