Module Name: src Committed By: riastradh Date: Sun Jun 23 02:35:24 UTC 2013
Modified Files: src/sys/conf: files src/sys/dev: rndpseudo.c src/sys/kern: kern_rndq.c subr_cprng.c src/sys/lib/libkern: arc4random.c src/sys/rump/librump/rumpkern: Makefile.rumpkern cprng_stub.c src/sys/sys: cprng.h rnd.h src/usr.bin/fstat: misc.c Added Files: src/share/man/man9: rndsink.9 src/sys/kern: kern_rndsink.c src/sys/sys: rndsink.h Log Message: Rework rndsink(9) abstraction and adapt arc4random(9) and cprng(9). rndsink(9): - Simplify API. - Simplify locking scheme. - Add a man page. - Avoid races in destruction. - Avoid races in requesting entropy now and scheduling entropy later. Periodic distribution of entropy to sinks reduces the need for the last one, but this way we don't need to rely on periodic distribution (e.g., in a future tickless NetBSD). rndsinks_lock should probably eventually merge with the rndpool lock, but we'll put that off for now. cprng(9): - Make struct cprng_strong opaque. - Move rndpseudo.c parts that futz with cprng guts to subr_cprng.c. - Fix kevent locking. (Is kevent locking documented anywhere?) - Stub out rump cprng further until we can rumpify rndsink instead. - Strip code to grovel through struct cprng_strong in fstat. To generate a diff of this commit: cvs rdiff -u -r0 -r1.1 src/share/man/man9/rndsink.9 cvs rdiff -u -r1.1073 -r1.1074 src/sys/conf/files cvs rdiff -u -r1.12 -r1.13 src/sys/dev/rndpseudo.c cvs rdiff -u -r1.13 -r1.14 src/sys/kern/kern_rndq.c cvs rdiff -u -r0 -r1.1 src/sys/kern/kern_rndsink.c cvs rdiff -u -r1.17 -r1.18 src/sys/kern/subr_cprng.c cvs rdiff -u -r1.32 -r1.33 src/sys/lib/libkern/arc4random.c cvs rdiff -u -r1.127 -r1.128 src/sys/rump/librump/rumpkern/Makefile.rumpkern cvs rdiff -u -r1.6 -r1.7 src/sys/rump/librump/rumpkern/cprng_stub.c cvs rdiff -u -r1.6 -r1.7 src/sys/sys/cprng.h cvs rdiff -u -r1.37 -r1.38 src/sys/sys/rnd.h cvs rdiff -u -r0 -r1.1 src/sys/sys/rndsink.h cvs rdiff -u -r1.11 -r1.12 src/usr.bin/fstat/misc.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.