Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: src



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.




Home | Main Index | Thread Index | Old Index