freebsd-nq/sys/opencrypto
John Baldwin 5425750f03 Move per-operation data out of the csession structure.
Create a struct cryptop_data which contains state needed for a single
symmetric crypto operation and move that state out of the session. This
closes a race with the CRYPTO_F_DONE flag that can result in use after
free.

While here, remove the 'cse->error' member.  It was just a copy of
'crp->crp_etype' and cryptodev_op() and cryptodev_aead() checked both
'crp->crp_etype' and 'cse->error'.  Similarly, do not check for an
error from mtx_sleep() since it is not used with PCATCH or a timeout
so cannot fail with an error.

PR:		218597
Reviewed by:	kib
Sponsored by:	Chelsio Communications
Differential Revision:	https://reviews.freebsd.org/D13928
2018-01-26 23:21:50 +00:00
..
cast.c
cast.h
castsb.h
criov.c
crypto.c Fix uninitialized crp_retw_id when using asynchronous crypto drivers 2018-01-08 13:43:12 +00:00
cryptodeflate.c
cryptodev_if.m
cryptodev.c Move per-operation data out of the csession structure. 2018-01-26 23:21:50 +00:00
cryptodev.h Split crp_buf into a union. 2018-01-16 19:41:18 +00:00
cryptosoft.c Remove a redunant check. 2017-12-30 03:08:49 +00:00
cryptosoft.h
deflate.h
gfmult.c
gfmult.h
gmac.c
gmac.h
rmd160.c
rmd160.h
skipjack.c
skipjack.h
xform_aes_icm.c
xform_aes_xts.c
xform_auth.h
xform_blf.c
xform_cast5.c
xform_cml.c
xform_comp.h
xform_deflate.c
xform_des1.c
xform_des3.c
xform_enc.h
xform_gmac.c
xform_md5.c
xform_null.c
xform_rijndael.c
xform_rmd160.c
xform_sha1.c
xform_sha2.c
xform_skipjack.c
xform_userland.h
xform.c
xform.h