[Midnightbsd-cvs] src [6818] trunk/sys/libkern/arc4random.c: add initial seed status

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Thu Oct 2 23:56:55 EDT 2014


Revision: 6818
          http://svnweb.midnightbsd.org/src/?rev=6818
Author:   laffer1
Date:     2014-10-02 23:56:55 -0400 (Thu, 02 Oct 2014)
Log Message:
-----------
add initial seed status

Modified Paths:
--------------
    trunk/sys/libkern/arc4random.c

Property Changed:
----------------
    trunk/sys/libkern/arc4random.c

Modified: trunk/sys/libkern/arc4random.c
===================================================================
--- trunk/sys/libkern/arc4random.c	2014-10-03 03:54:34 UTC (rev 6817)
+++ trunk/sys/libkern/arc4random.c	2014-10-03 03:56:55 UTC (rev 6818)
@@ -9,7 +9,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
+__FBSDID("$FreeBSD: release/9.2.0/sys/libkern/arc4random.c 249915 2013-04-26 01:56:58Z ache $");
 
 #include <sys/types.h>
 #include <sys/param.h>
@@ -24,6 +24,8 @@
 #define	ARC4_RESEED_SECONDS 300
 #define	ARC4_KEYBYTES (256 / 8)
 
+int arc4rand_iniseed_state = ARC4_ENTR_NONE;
+
 static u_int8_t arc4_i, arc4_j;
 static int arc4_numruns = 0;
 static u_int8_t arc4_sbox[256];
@@ -130,7 +132,8 @@
 	struct timeval tv;
 
 	getmicrouptime(&tv);
-	if (reseed || 
+	if (atomic_cmpset_int(&arc4rand_iniseed_state, ARC4_ENTR_HAVE,
+	    ARC4_ENTR_SEED) || reseed ||
 	   (arc4_numruns > ARC4_RESEED_BYTES) ||
 	   (tv.tv_sec > arc4_t_reseed))
 		arc4_randomstir();


Property changes on: trunk/sys/libkern/arc4random.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.3
\ No newline at end of property


More information about the Midnightbsd-cvs mailing list