Up to [cvs.netbsd.org] / src / sys / kern
Request diff between arbitrary revisions
Default branch: MAIN
Revision 1.2.2.3 / (download) - annotate - [select for diffs], Wed May 23 10:08:11 2012 UTC (2 days, 21 hours ago) by yamt
Branch: yamt-pagecache
Changes since 1.2.2.2: +19 -7
lines
Diff to previous 1.2.2.2 (colored) to branchpoint 1.2 (colored) next main 1.3 (colored)
sync with head.
Revision 1.1.4.3 / (download) - annotate - [select for diffs], Sun Apr 29 23:05:05 2012 UTC (3 weeks, 5 days ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.1.4.2: +37 -7
lines
Diff to previous 1.1.4.2 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored)
sync to latest -current.
Revision 1.1.2.2 / (download) - annotate - [select for diffs], Fri Apr 20 23:35:20 2012 UTC (5 weeks ago) by riz
Branch: netbsd-6
Changes since 1.1.2.1: +19 -7
lines
Diff to previous 1.1.2.1 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored)
Pull up following revision(s) (requested by tls in ticket #190): sys/sys/rnd.h: revision 1.31 sys/sys/rnd.h: revision 1.32 sys/sys/cprng.h: revision 1.5 sys/kern/subr_cprng.c: revision 1.8 share/man/man4/rnd.4: revision 1.19 sys/kern/kern_rndq.c: revision 1.3 sys/dev/rndpseudo.c: revision 1.8 sys/dev/rndpseudo.c: revision 1.9 sys/kern/kern_rndpool.c: revision 1.2 Address multiple problems with rnd(4)/cprng(9): 1) Add a per-cpu CPRNG to handle short reads from /dev/urandom so that programs like perl don't drain the entropy pool dry by repeatedly opening, reading 4 bytes, closing. 2) Really fix the locking around reseeds and destroys. 3) Fix the opportunistic-reseed strategy so it actually works, reseeding existing RNGs once each (as they are used, so idle RNGs don't get reseeded) until the pool is half empty or newly full again. Fix a bug and a compilation problem. Bug: spin mutexes don't have owners, so KASSERT(!mutex_owned()) shouldn't be used to assert that the current LWP does not have the mutex. Compilation problem: explicitly include sys/mutex.h from rnd.h so evbarm builds again.
Revision 1.1.2.1 / (download) - annotate - [select for diffs], Thu Apr 19 19:59:10 2012 UTC (5 weeks, 1 day ago) by riz
Branch: netbsd-6
Changes since 1.1: +25 -7
lines
Diff to previous 1.1 (colored)
Pull up following revision(s) (requested by tls in ticket #185): sys/kern/subr_cprng.c: revision 1.6 sys/kern/subr_cprng.c: revision 1.7 sys/lib/libkern/arc4random.c: revision 1.32 sys/kern/kern_rndq.c: revision 1.2 sys/dev/rndpseudo.c: revision 1.7 sys/sys/rnd.h: revision 1.30 Add a spin mutex to the rndsink structure; it is used to avoid lock ordering and sleep-holding-locks problems when rekeying, and thus to avoid a nasty race between cprng destruction and reseeding. Fix LOCKDEBUG problems pointed out by drochner@ 1) Lock ordering in cprng_strong_destroy had us take a spin mutex then an adaptive mutex. Can't do that. Reordering this requires changing cprng_strong_reseed to tryenter the cprng's own mutex and skip the reseed on failure, or we could deadlock. 2) Can't free memory with a valid mutex in it. reorder initialization to improve error handling in case the system runs out of file descriptors, avoids LOCKDEBUG panic due to double mutex initialization
Revision 1.3 / (download) - annotate - [select for diffs], Tue Apr 17 02:50:38 2012 UTC (5 weeks, 4 days ago) by tls
Branch: MAIN
CVS Tags: yamt-pagecache-base5,
jmcneill-usbmp-base9,
HEAD
Changes since 1.2: +19 -7
lines
Diff to previous 1.2 (colored)
Address multiple problems with rnd(4)/cprng(9): 1) Add a per-cpu CPRNG to handle short reads from /dev/urandom so that programs like perl don't drain the entropy pool dry by repeatedly opening, reading 4 bytes, closing. 2) Really fix the locking around reseeds and destroys. 3) Fix the opportunistic-reseed strategy so it actually works, reseeding existing RNGs once each (as they are used, so idle RNGs don't get reseeded) until the pool is half empty or newly full again.
Revision 1.2.2.2 / (download) - annotate - [select for diffs], Tue Apr 17 00:08:25 2012 UTC (5 weeks, 4 days ago) by yamt
Branch: yamt-pagecache
Changes since 1.2.2.1: +1052 -0
lines
Diff to previous 1.2.2.1 (colored) to branchpoint 1.2 (colored)
sync with head
Revision 1.2.2.1, Tue Apr 10 14:02:27 2012 UTC (6 weeks, 3 days ago) by yamt
Branch: yamt-pagecache
Changes since 1.2: +0 -1052
lines
FILE REMOVED
file kern_rndq.c was added on branch yamt-pagecache on 2012-04-17 00:08:25 +0000
Revision 1.2 / (download) - annotate - [select for diffs], Tue Apr 10 14:02:27 2012 UTC (6 weeks, 3 days ago) by tls
Branch: MAIN
CVS Tags: yamt-pagecache-base4
Branch point for: yamt-pagecache
Changes since 1.1: +25 -7
lines
Diff to previous 1.1 (colored)
Add a spin mutex to the rndsink structure; it is used to avoid lock ordering and sleep-holding-locks problems when rekeying, and thus to avoid a nasty race between cprng destruction and reseeding.
Revision 1.1.4.2 / (download) - annotate - [select for diffs], Sat Feb 18 07:35:31 2012 UTC (3 months ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.1.4.1: +1034 -0
lines
Diff to previous 1.1.4.1 (colored) to branchpoint 1.1 (colored)
merge to -current.
Revision 1.1.4.1, Thu Feb 2 19:43:07 2012 UTC (3 months, 3 weeks ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.1: +0 -1034
lines
FILE REMOVED
file kern_rndq.c was added on branch jmcneill-usbmp on 2012-02-18 07:35:31 +0000
Revision 1.1 / (download) - annotate - [select for diffs], Thu Feb 2 19:43:07 2012 UTC (3 months, 3 weeks ago) by tls
Branch: MAIN
CVS Tags: netbsd-6-base,
jmcneill-usbmp-base8,
jmcneill-usbmp-base7,
jmcneill-usbmp-base6,
jmcneill-usbmp-base5,
jmcneill-usbmp-base4,
jmcneill-usbmp-base3,
jmcneill-usbmp-base2
Branch point for: netbsd-6,
jmcneill-usbmp
Entropy-pool implementation move and cleanup. 1) Move core entropy-pool code and source/sink/sample management code to sys/kern from sys/dev. 2) Remove use of NRND as test for presence of entropy-pool code throughout source tree. 3) Remove use of RND_ENABLED in device drivers as microoptimization to avoid expensive operations on disabled entropy sources; make the rnd_add calls do this directly so all callers benefit. 4) Fix bug in recent rnd_add_data()/rnd_add_uint32() changes that might have lead to slight entropy overestimation for some sources. 5) Add new source types for environmental sensors, power sensors, VM system events, and skew between clocks, with a sample implementation for each. ok releng to go in before the branch due to the difficulty of later pullup (widespread #ifdef removal and moved files). Tested with release builds on amd64 and evbarm and live testing on amd64.