Home | History | Annotate | Download | only in opencrypto
History log of /src/sys/opencrypto/cryptosoft.c
RevisionDateAuthorComments
 1.65  26-Jul-2025  perseant Correct a typo in rev 1.59, which results in a crash if the number of
sessions exceeds CRYPTO_SW_SESSIONS = 32.
 1.64  22-May-2022  riastradh branches: 1.64.4; 1.64.10;
opencrypto: Make freesession callback return void.

No functional change intended: all drivers already return zero
unconditionally.
 1.63  22-May-2022  riastradh cryptosoft(4): Prune dead branches. Assert session id validity.
 1.62  22-May-2022  riastradh cryptosoft(4): Rip out nonsense to quietly ignore sid=0.

This is no longer necessary because crypto_freesession no longer
calls into the driver for session ids that were never allocated in
the first place.
 1.61  06-Apr-2021  knakahara Fix ATF failures, sorry.
 1.60  05-Apr-2021  knakahara refactor: reduce access to swcr_sessions[i] directly
 1.59  05-Apr-2021  knakahara refactor: reduce changing swcr_sesnum
 1.58  05-Apr-2021  knakahara use kmem_{z,}alloc() instead of malloc()
 1.57  04-Jul-2020  riastradh branches: 1.57.4;
Fix kmem_free size in recent malloc->kmem conversion.

Should address this bracket report that has my name all over it:

https://mail-index.netbsd.org/current-users/2020/07/04/msg039059.html
 1.56  29-Jun-2020  riastradh opencrypto: Switch from legacy rijndael API to new aes API.

While here, apply various rijndael->aes renames, reduce the size
of aesxcbc_ctx by 480 bytes, and convert some malloc->kmem.

Leave in the symbol enc_xform_rijndael128 for now, though, so this
doesn't break any kernel ABI.
 1.55  14-Jun-2020  riastradh swcrypto(4): Simplify iv generation logic with cprng_fast.
 1.54  12-Oct-2019  christos add (void *) intermediate casts to elide gcc function cast warnings. This
is the simplest solution; choices:
- add pragmas, complex and ugly (need to be gcc-specific)
- add -Wno to COPTS. Needs to be done in many makefiles because of rump
- add intermediate functions: slows down things
 1.53  11-Jul-2019  christos Disable unloading until we keep track of references
 1.52  23-Jun-2017  knakahara branches: 1.52.6;
fix cryptosoft.c:r1.51 mistake. swcrypto_attach() must not be called from module_init_class().

swcrypto_attach() will call softint_establish(), it must be called after cpus
attached. module_init_class() is too early to call softint_establish().
 1.51  01-Jun-2017  knakahara branches: 1.51.2;
swcrypto0 was initialized twice. Fix like pseudo network interfaces.

ok by pgoyette@n.o.
 1.50  17-May-2017  knakahara opencrypto: cleanup debug messages.
 1.49  18-Apr-2017  maya branches: 1.49.2;
Remove duplicate assignment.
We assign the same value unconditionally just before.

from clang static analyzer

XXX surrounding code seems fishy
 1.48  13-Apr-2017  ozaki-r Fix usage of MD5Final/SHA1Final

Passing NULL as the digest parameter is wrong.
 1.47  20-Aug-2015  christos branches: 1.47.2; 1.47.4;
include "ioconf.h" to get the 'void <driver>attach(int count);' prototype.
 1.46  02-Jul-2014  riastradh branches: 1.46.4;
If we register with pmf on attach, deregister on detach.
 1.45  21-Jun-2014  christos register with pmf.
 1.44  01-Jan-2014  pgoyette branches: 1.44.2;
Modularize the opencrypto components and link to the build
 1.43  12-Sep-2013  martin Remove unused variable
 1.42  24-Jun-2013  riastradh branches: 1.42.2;
Replace consttime_bcmp/explicit_bzero by consttime_memequal/explicit_memset.

consttime_memequal is the same as the old consttime_bcmp.
explicit_memset is to memset as explicit_bzero was to bcmp.

Passes amd64 release and i386/ALL, but I'm sure I missed some spots,
so please let me know.
 1.41  02-Feb-2013  christos fix compilation
 1.40  30-Aug-2012  drochner branches: 1.40.2;
Add "consttime_bcmp" and "explicit_bzero" functions for both kernel
abd userland, as proposed on tech-security, with explicit_bzero using
a volatile function pointer as suggested by Alan Barrett.
Both do what the name says. For userland, both are prefixed by "__"
to keep them out of the user namespace.
Change some memset/memcmp uses to the new functions where it makes
sense -- these are just some examples, more to come.
 1.39  28-Nov-2011  tls Remove arc4random() and arc4randbytes() from the kernel API. Replace
arc4random() hacks in rump with stubs that call the host arc4random() to
get numbers that are hopefully actually random (arc4random() keyed with
stack junk is not). This should fix some of the currently failing anita
tests -- we should no longer generate duplicate "random" MAC addresses in
the test environment.
 1.38  07-Jun-2011  drochner branches: 1.38.2;
use a simple counter as IV for AES-GMAC as suggested in RFC4543
 1.37  26-May-2011  drochner branches: 1.37.2;
pull in AES-GCM/GMAC support from OpenBSD
This is still somewhat experimental. Tested between 2 similar boxes
so far. There is much potential for performance improvement. For now,
I've changed the gmac code to accept any data alignment, as the "char *"
pointer suggests. As the code is practically used, 32-bit alignment
can be assumed, at the cost of data copies. I don't know whether
bytewise access or copies are worse performance-wise. For efficient
implementations using SSE2 instructions on x86, even stricter
alignment requirements might arise.
 1.36  24-May-2011  drochner copy AES-XCBC-MAC support from KAME IPSEC to FAST_IPSEC
For this to fit, an API change in cryptosoft was adopted from OpenBSD
(addition of a "Setkey" method to hashes) which was done for GCM/GMAC
support there, so it might be useful in the future anyway.
tested against KAME IPSEC
AFAICT, FAST_IPSEC now supports as much as KAME.
 1.35  24-May-2011  drochner move the "context size" struct member (which is a pure software
implementation thing) from the abstract xform descriptor to
the cryptosoft implementation part -- for sanity, and now clients
of opencrypto don't depend on headers of cipher implementations anymore
 1.34  24-May-2011  drochner Change the way the IV is generated for AES-CTR: use a simple counter
instead of arc4random(). AES-CTR is sensitive against IV recurrence
(with the same key / nonce), and a random number doesn't give that
guarantee.
This needs a little API change in cryptosoft -- I've suggested it to
Open/FreeBSD, might change it depending on feedback.
Thanks to Steven Bellovin for hints.
 1.33  23-May-2011  drochner add an AES-CTR xform, from OpenBSD
 1.32  23-May-2011  drochner -in the descriptor for encryption xforms, split the "blocksize" field
into "blocksize" and "IV size"
-add an "reinit" function pointer which, if set, means that the xform
does its IV handling itself and doesn't want the default CBC handling
by the framework (poor name, but left that way to avoid unecessary
differences)
This syncs with Open/FreeBSD, purpose is to allow non-CBC transforms.
Refer to ivsize instead of blocksize where appropriate.
(At this point, blocksize and ivsize are identical.)
 1.31  21-May-2011  drochner fix a logics bug (which has been here from the beginning) which made
that only 96 random bits were used for IV generation,
this caused eg that the last 4 bytes of the IV in ESP/AES-CBC
were constant, leaking kernel memory
affects FAST_IPSEC only
 1.30  05-May-2011  drochner support camellia-cbc by swcrypt
 1.29  25-Feb-2011  drochner make the use of SHA2-HMAC by FAST_IPSEC compliant to current standards:
-RFC2104 says that the block size of the hash algorithm must be used
for key/ipad/opad calculations. While formerly all ciphers used a block
length of 64, SHA384 and SHA512 use 128 bytes. So we can't use the
HMAC_BLOCK_LEN constant anymore. Add a new field to "struct auth_hash"
for the per-cipher blocksize.
-Due to this, there can't be a single "CRYPTO_SHA2_HMAC" external name
anymore. Replace this by 3 for the 3 different keysizes.
This was done by Open/FreeBSD before.
-Also fix the number of authenticator bits used tor ESP and AH to
conform to RFC4868, and remove uses of AH_HMAC_HASHLEN which did
assume a fixed authenticator size of 12 bytes.

FAST_IPSEC will not interoperate with KAME IPSEC anymore if sha2 is used,
because the latter doesn't implement these standards. It should
interoperate with at least modern Free/OpenBSD now.
(I've only tested with NetBSD-current/FAST_IPSEC on both ends.)
 1.28  24-Feb-2011  drochner small modifications in dealing with the unknown result size of compression/
decompression:
-seperate the IPCOMP specific rule that compression must not grow the
data from general compression semantics: Introduce a special name
CRYPTO_DEFLATE_COMP_NOGROW/comp_algo_deflate_nogrow to describe
the IPCOMP semantics and use it there. (being here, fix the check
so that equal size is considered failure as well as required by
RFC2393)
Customers of CRYPTO_DEFLATE_COMP/comp_algo_deflate now always get
deflated data back, even if they are not smaller than the original.
-allow to pass a "size hint" to the DEFLATE decompression function
which is used for the initial buffer allocation. Due to the changes
done there, additional allocations and extra copies are avoided if the
initial allocation is sufficient. Set the size hint to MCLBYTES (=2k)
in IPCOMP which should be good for many use cases.
 1.27  10-Feb-2011  drochner Don't store temporary values in the opencrypto session data struct which
can be shared by multiple threads -- pass them on the stack instead.
Add some "const" to document this. (One _could_ use the session struct
for temporary stuff with proper locking, but it seems unnecessary here.)
Also remove the unused SW_crc member in the session struct.
From Wolfgang Stukenbrock per PR kern/44472.
 1.26  02-Aug-2010  jakllsch branches: 1.26.2; 1.26.4;
Consistently use a single CRYPTO_SESID2HID-like macro.
Improve CRYPTO_DEBUG printing a bit:
print pointers with %p
print unsigned with %u rather than %d
use CRYPTO_SESID2LID instead of just casting to uint32_t
 1.25  18-Apr-2009  tsutsui branches: 1.25.2; 1.25.4;
Remove extra whitespace added by a stupid tool.
XXX: more in src/sys/arch
 1.24  25-Mar-2009  darran Fixes PR kern/41069 and PR kern/41070.

Extends the Opencrypto API to allow the destination buffer size to be
specified when its not the same size as the input buffer (i.e. for
operations like compress and decompress).
The crypto_op and crypt_n_op structures gain a u_int dst_len field.
The session_op structure gains a comp_alg field to specify a compression
algorithm.
Moved four ioctls to new ids; CIOCGSESSION, CIOCNGSESSION, CIOCCRYPT,
and CIOCNCRYPTM.
Added four backward compatible ioctls; OCIOCGSESSION, OCIOCNGSESSION,
OCIOCCRYPT, and OCIOCNCRYPTM.

Backward compatibility is maintained in ocryptodev.h and ocryptodev.c which
implement the original ioctls and set dst_len and comp_alg to 0.

Adds user-space access to compression features.

Adds software gzip support (CRYPTO_GZIP_COMP).

Adds the fast version of crc32 from zlib to libkern. This should be generally
useful and provide a place to start normalizing the various crc32 routines
in the kernel. The crc32 routine is used in this patch to support GZIP.

With input and support from tls@NetBSD.org.
 1.23  18-Mar-2009  cegger bcopy -> memcpy
 1.22  18-Mar-2009  cegger bzero -> memset
 1.21  17-Dec-2008  cegger branches: 1.21.2;
kill MALLOC and FREE macros.
 1.20  04-Feb-2008  tls branches: 1.20.6; 1.20.10; 1.20.18; 1.20.20; 1.20.26;
Rework opencrypto to use a spin mutex (crypto_mtx) instead of "splcrypto"
(actually splnet) and condvars instead of tsleep/wakeup. Fix a few
miscellaneous problems and add some debugging printfs while there.

Restore set of CRYPTO_F_DONE in crypto_done() which was lost at some
point after this code came from FreeBSD -- it made it impossible to wait
properly for a condition.

Add flags analogous to the "crp" flags to the key operation's krp struct.
Add a new flag, CRYPTO_F_ONRETQ which tells us a request finished before
the kthread had a chance to dequeue it and call its callback -- this was
letting requests stick on the queues before even though done and copied
out.

Callers of crypto_newsession() or crypto_freesession() must now take the
mutex. Change netipsec to do so. Dispatch takes the mutex itself as
needed.

This was tested fairly extensively with the cryptosoft backend and lightly
with a new hardware driver. It has not been tested with FAST_IPSEC; I am
unable to ascertain whether FAST_IPSEC currently works at all in our tree.

pjd@FreeBSD.ORG, ad@NetBSD.ORG, and darran@snark.us pointed me in the
right direction several times in the course of this. Remaining bugs
are mine alone.
 1.19  02-Feb-2008  tls Add CRYPTO_*_HMAC_96 defines -- missed this file in previous commit.
 1.18  01-Feb-2008  tls This code never worked on a released version of FreeBSD in the form it's
been in in our tree, and certainly does not work on any version of FreeBSD
now. Run through unifdef -D__NetBSD__ -U__FreeBSD__ yielding a small
reduction of size and a dramatic improvement in readability.

No, this does not yield any meaningful decrease in patchability (unlike
mechanical changes that touch live source lines) -- try it and see.
 1.17  04-Mar-2007  christos branches: 1.17.16; 1.17.22;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.16  17-Feb-2007  daniel branches: 1.16.2;
Add an opencrypto provider for the AES xcrypt instructions found on VIA
C5P and later cores (also known as 'ACE', which is part of the VIA PadLock
security engine). Ported from OpenBSD.

Reviewed on tech-crypto and port-i386, no objections to commiting this.
 1.15  16-Nov-2006  christos __unused removal on arguments; approved by core.
 1.14  12-Oct-2006  christos - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
 1.13  02-Apr-2006  dsl branches: 1.13.8; 1.13.10;
malloc data the size the pointer points to, not the size of a pointer.
Maybe we get away with this (at least on 32bit archs) because the structure
is 24 bytes and I bet the minimum allocation size is 32.
Fixed coverty CIDs 2732 and 2733
 1.12  17-Mar-2006  christos don't use MALLOC with a non-constant size; use malloc instead.
 1.11  25-Nov-2005  thorpej branches: 1.11.4; 1.11.6; 1.11.8; 1.11.10; 1.11.12;
swcr -> swcrypto
 1.10  25-Nov-2005  thorpej - De-couple the software crypto implementation from the rest of the
framework. There is no need to waste the space if you are only using
algoritms provided by hardware accelerators. To get the software
implementations, add "pseudo-device swcr" to your kernel config.
- Lazily initialize the opencrypto framework when crypto drivers
(either hardware or swcr) register themselves with the framework.
 1.9  26-Feb-2005  perry branches: 1.9.4; 1.9.10;
nuke trailing whitespace
 1.8  27-Aug-2003  thorpej branches: 1.8.4; 1.8.10; 1.8.12;
Some const poisoning.
 1.7  26-Aug-2003  thorpej Remove a bunch of unnecessary includes.
 1.6  25-Aug-2003  thorpej It's bad form to use the <opencrypto/rmd160.h> header file while
using the crypto/ripemd160/rmd160.c implementation. Remove the
opencrypto-local copies of these files entirely.
 1.5  30-Jul-2003  jonathan Garbage-collect references to OpenBSD-only <dev/rndvar.h>.
 1.4  28-Jul-2003  jonathan Remove vestiges of OpenBSD <sys/md5k.h> header.
 1.3  27-Jul-2003  jonathan Cleanup traces of previous standalone m_apply()/m_getptr().
 1.2  26-Jul-2003  jonathan Fix authentication hashes requested via /dev/crypto. The handler for
userland hashes case was partly omitted in the OpenBSD -> FreeBSD port.
 1.1  25-Jul-2003  jonathan Commit initial NetBSD port of the OpenCrypto Framework (OCF). This
code is derived from Sam Leffler's FreeBSD port of OCF, which is in
turn a port of Angelos Keromytis's OpenBSD work.
Credit to Sam and Angelos, any blame for the NetBSD port to me.
 1.8.12.1  19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.8.10.1  29-Apr-2005  kent sync with -current
 1.8.4.6  11-Dec-2005  christos Sync with head.
 1.8.4.5  04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.8.4.4  21-Sep-2004  skrll Fix the sync with head I botched.
 1.8.4.3  18-Sep-2004  skrll Sync with HEAD.
 1.8.4.2  03-Aug-2004  skrll Sync with HEAD
 1.8.4.1  27-Aug-2003  skrll file cryptosoft.c was added on branch ktrace-lwp on 2004-08-03 10:56:25 +0000
 1.9.10.1  29-Nov-2005  yamt sync with head.
 1.9.4.4  04-Feb-2008  yamt sync with head.
 1.9.4.3  03-Sep-2007  yamt sync with head.
 1.9.4.2  26-Feb-2007  yamt sync with head.
 1.9.4.1  21-Jun-2006  yamt sync with head.
 1.11.12.2  24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.11.12.1  28-Mar-2006  tron Merge 2006-03-28 NetBSD-current into the "peter-altq" branch.
 1.11.10.1  19-Apr-2006  elad sync with head.
 1.11.8.2  11-Apr-2006  yamt sync with head
 1.11.8.1  01-Apr-2006  yamt sync with head.
 1.11.6.1  22-Apr-2006  simonb Sync with head.
 1.11.4.1  09-Sep-2006  rpaulo sync with head
 1.13.10.2  10-Dec-2006  yamt sync with head.
 1.13.10.1  22-Oct-2006  yamt sync with head
 1.13.8.1  18-Nov-2006  ad Sync with head.
 1.16.2.2  12-Mar-2007  rmind Sync with HEAD.
 1.16.2.1  17-Feb-2007  rmind file cryptosoft.c was added on branch yamt-idlelwp on 2007-03-12 06:00:50 +0000
 1.17.22.1  18-Feb-2008  mjf Sync with HEAD.
 1.17.16.1  23-Mar-2008  matt sync with HEAD
 1.20.26.1  20-May-2011  matt bring matt-nb5-mips64 up to date with netbsd-5-1-RELEASE (except compat).
 1.20.20.1  03-May-2009  snj Pull up following revision(s) (requested by tls in ticket #611):
sys/lib/libkern/Makefile: patch
sys/lib/libkern/crc32.c: revision 1.1
sys/lib/libkern/crc32.h: revision 1.1
sys/lib/libkern/libkern.h: revision 1.89
sys/lib/libkern/arch/i386/Makefile.inc: revision 1.28
sys/net/zlib.h: revision 1.14 via patch
sys/opencrypto/crypto.c: revision 1.33
sys/opencrypto/cryptodev.c: revision 1.46
sys/opencrypto/cryptodev.h: revision 1.16
sys/opencrypto/cryptosoft.c: revision 1.24
sys/opencrypto/cryptosoft.h: revision 1.6
sys/opencrypto/deflate.h: revision 1.6
sys/opencrypto/cryptosoft_xform.c: revision 1.12
sys/opencrypto/deflate.c: revision 1.13
sys/opencrypto/files.opencrypto: revision 1.20
sys/opencrypto/ocryptodev.c: revision 1.1
sys/opencrypto/ocryptodev.h: revision 1.1
sys/opencrypto/xform.c: revision 1.18
sys/opencrypto/xform.h: revision 1.10
Fixes PR kern/41069 and PR kern/41070.

Extends the Opencrypto API to allow the destination buffer size to be
specified when its not the same size as the input buffer (i.e. for
operations like compress and decompress).
The crypto_op and crypt_n_op structures gain a u_int dst_len field.
The session_op structure gains a comp_alg field to specify a compression
algorithm.
Moved four ioctls to new ids; CIOCGSESSION, CIOCNGSESSION, CIOCCRYPT,
and CIOCNCRYPTM.
Added four backward compatible ioctls; OCIOCGSESSION, OCIOCNGSESSION,
OCIOCCRYPT, and OCIOCNCRYPTM.

Backward compatibility is maintained in ocryptodev.h and ocryptodev.c which
implement the original ioctls and set dst_len and comp_alg to 0.

Adds user-space access to compression features.

Adds software gzip support (CRYPTO_GZIP_COMP).

Adds the fast version of crc32 from zlib to libkern. This should be generally
useful and provide a place to start normalizing the various crc32 routines
in the kernel. The crc32 routine is used in this patch to support GZIP.

With input and support from tls@NetBSD.org.
 1.20.18.2  28-Apr-2009  skrll Sync with HEAD.
 1.20.18.1  19-Jan-2009  skrll Sync with HEAD.
 1.20.10.2  11-Aug-2010  yamt sync with head.
 1.20.10.1  04-May-2009  yamt sync with head.
 1.20.6.1  17-Jan-2009  mjf Sync with HEAD.
 1.21.2.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.25.4.3  12-Jun-2011  rmind sync with head
 1.25.4.2  31-May-2011  rmind sync with head
 1.25.4.1  05-Mar-2011  rmind sync with head
 1.25.2.1  17-Aug-2010  uebayasi Sync with HEAD.
 1.26.4.2  05-Mar-2011  bouyer Sync with HEAD
 1.26.4.1  17-Feb-2011  bouyer Sync with HEAD
 1.26.2.1  06-Jun-2011  jruoho Sync with HEAD.
 1.37.2.1  23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.38.2.3  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.38.2.2  30-Oct-2012  yamt sync with head
 1.38.2.1  17-Apr-2012  yamt sync with head
 1.40.2.3  03-Dec-2017  jdolecek update from HEAD
 1.40.2.2  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.40.2.1  25-Feb-2013  tls resync with head
 1.42.2.1  18-May-2014  rmind sync with head
 1.44.2.1  10-Aug-2014  tls Rebase.
 1.46.4.2  28-Aug-2017  skrll Sync with HEAD
 1.46.4.1  22-Sep-2015  skrll Sync with HEAD
 1.47.4.1  21-Apr-2017  bouyer Sync with HEAD
 1.47.2.1  26-Apr-2017  pgoyette Sync with HEAD
 1.49.2.2  19-May-2017  pgoyette Resolve conflicts from previous merge (all resulting from $NetBSD
keywork expansion)
 1.49.2.1  17-May-2017  pgoyette At suggestion of chuq@, modify config_attach_pseudo() to return with a
reference held on the device.

Adapt callers to expect the reference to exist, and to ensure that the
reference is released.
 1.51.2.1  05-Jul-2017  snj Pull up following revision(s) (requested by knakahara in ticket #97):
sys/opencrypto/crypto.c: 1.87-1.91
sys/opencrypto/cryptodev.c: 1.93-1.95
sys/opencrypto/cryptodev.h: 1.37
sys/opencrypto/cryptosoft.c: 1.52
sys/rump/dev/lib/libopencrypto/opencrypto_component.c: 1.5
sanitize count used for kmem_alloc size.
Hmm, who uses CIOCNGSESSION, CIOCNFSESSION, CIOCNCRYPTM or CIOCNFKEYM?
--
sanitize in CIOCNCRYPTM and initialize comp_alg in CIOCNGSESSION
--
must release cap->cc_lock before calling cap->cc_newsession() because of spinlock.
--
refactor crypto_newsession() like FreeBSD.
--
support multiple encryption drivers (port from FreeBSD).
--
Divide crp_devflags from crp_flags to write exclusively.
CRYPTO_F_DQRETQ(new name is CRYPTODEV_F_RET) is used by cryptodev.c only.
It should be divided to other member.
--
Reduce crypto_ret_q_mtx lock regions.
crypto.c does not access the members of crp when the crp is in crp_q or
crp_ret_q. Furthermore, crp_q and crp_ret_q are protected by each mutex,
so the members of crp is not shared. That means crp_flags is not required
mutex in crypto.c.
--
fix cryptosoft.c:r1.51 mistake. swcrypto_attach() must not be called from module_init_class().
swcrypto_attach() will call softint_establish(), it must be called after cpus
attached. module_init_class() is too early to call softint_establish().
--
simplify mutex_enter/exit(crypto_q_mtx), and fix missing exit.
--
reduce rump waring message. pointed out by ozaki-r@n.o, thanks.
 1.52.6.1  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.57.4.1  17-Apr-2021  thorpej Sync with HEAD.
 1.64.10.1  02-Aug-2025  perseant Sync with HEAD
 1.64.4.1  27-Jul-2025  martin Pull up following revision(s) (requested by kim in ticket #1138):

sys/opencrypto/cryptosoft.c: revision 1.65

Correct a typo in rev 1.59, which results in a crash if the number of
sessions exceeds CRYPTO_SW_SESSIONS = 32.

RSS XML Feed