summaryrefslogtreecommitdiffstats
path: root/sys/netinet/tcp_input.c
diff options
context:
space:
mode:
authorderaadt <deraadt@openbsd.org>2011-01-07 04:56:51 +0000
committerderaadt <deraadt@openbsd.org>2011-01-07 04:56:51 +0000
commit97630e02531f904422be552e3a87f2cf5be89fe5 (patch)
tree3bdcd87ccadc55b6ed550572d82bd52c2089005d /sys/netinet/tcp_input.c
parentsince randomwrite() also has no blocking operations at all, we need to (diff)
downloadwireguard-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