Index: sys/kern/kern_rndq.c =================================================================== RCS file: /cvsroot/src/sys/kern/kern_rndq.c,v retrieving revision 1.24 diff -p -u -r1.24 kern_rndq.c --- sys/kern/kern_rndq.c 10 Aug 2014 16:44:36 -0000 1.24 +++ sys/kern/kern_rndq.c 11 Aug 2014 04:14:12 -0000 @@ -799,12 +799,13 @@ rnd_add_data(krndsource_t *rs, const voi * itself, random. Don't estimate entropy based on * timestamp, just directly add the data. */ - mutex_spin_enter(&rndpool_mtx); if (__predict_false(rs == NULL)) { - rs = &rnd_source_anonymous; + mutex_spin_enter(&rndpool_mtx); + rndpool_add_data(&rnd_pool, data, len, entropy); + mutex_spin_exit(&rndpool_mtx); + } else { + rnd_add_data_ts(rs, data, len, entropy, rnd_counter()); } - rndpool_add_data(&rnd_pool, data, len, entropy); - mutex_spin_exit(&rndpool_mtx); } static void