diff options
author | 2011-01-07 04:56:51 +0000 | |
---|---|---|
committer | 2011-01-07 04:56:51 +0000 | |
commit | 97630e02531f904422be552e3a87f2cf5be89fe5 (patch) | |
tree | 3bdcd87ccadc55b6ed550572d82bd52c2089005d /sys/netinet/tcp_input.c | |
parent | since randomwrite() also has no blocking operations at all, we need to (diff) | |
download | wireguard-openbsd-97630e02531f904422be552e3a87f2cf5be89fe5.tar.xz wireguard-openbsd-97630e02531f904422be552e3a87f2cf5be89fe5.zip |
substantial rewrite. put a very thin mutex at the entropy-collection
side so that entropy events can come in from any kernel context. place
a 2nd very thin mutex at the call-down path as well, so that any context can
request random data. in the middle, meet with a bcopy that has no mutex,
but copying unlocked data is actually a benefit.
move the pool->MD5->RC4init sequence into a workq driven from a timeout,
so that we can do all the heavy work without any mutex held or IPL; only
grab the 2nd mutex to swap to a new RC4 state. (this workq design from tedu)
ok dlg tedu
Diffstat (limited to 'sys/netinet/tcp_input.c')
0 files changed, 0 insertions, 0 deletions