diff options
author | sam <sam@FreeBSD.org> | 2003-06-02 23:28:06 +0000 |
---|---|---|
committer | sam <sam@FreeBSD.org> | 2003-06-02 23:28:06 +0000 |
commit | fd016d74481eb1d01de3f6e9f3c43ebec302988e (patch) | |
tree | a080c149a3ddedf4ec627ed9e75477eb1532bdec /usr.bin/pathchk | |
parent | cc4569f1717f17c3c99d389ca96bd1bf83d4f534 (diff) | |
download | FreeBSD-src-fd016d74481eb1d01de3f6e9f3c43ebec302988e.zip FreeBSD-src-fd016d74481eb1d01de3f6e9f3c43ebec302988e.tar.gz |
Flush my local cache of cryto subsystem fixes:
o add a ``done'' flag for crypto operations; this is set when the operation
completes and is intended for callers to check operations that may complete
``prematurely'' because of direct callbacks
o close a race for operations where the crypto driver returns ERESTART: we
need to hold the q lock to insure the blocked state for the driver and any
driver-private state is consistent; otherwise drivers may take an interrupt
and notify the crypto subsystem that it can unblock the driver but operations
will be left queued and never be processed
o close a race in /dev/crypto where operations can complete before the caller
can sleep waiting for the callback: use a per-session mutex and the new done
flag to handle this
o correct crypto_dispatch's handling of operations where the driver returns
ERESTART: the return value must be zero and not ERESTART, otherwise the
caller may free the crypto request despite it being queued for later handling
(this typically results in a later panic)
o change crypto mutex ``names'' so witness printouts and the like are more
meaningful
Diffstat (limited to 'usr.bin/pathchk')
0 files changed, 0 insertions, 0 deletions