Lines Matching refs:cod
754 struct cryptop_data *cod; in cod_alloc() local
756 cod = malloc(sizeof(struct cryptop_data), M_XDATA, M_WAITOK | M_ZERO); in cod_alloc()
758 cod->cse = cse; in cod_alloc()
761 cod->aad = malloc(aad_len, M_XDATA, M_WAITOK); in cod_alloc()
762 cod->buf = malloc(len, M_XDATA, M_WAITOK); in cod_alloc()
764 cod->buf = malloc(aad_len + len, M_XDATA, M_WAITOK); in cod_alloc()
766 cod->obuf = malloc(len, M_XDATA, M_WAITOK); in cod_alloc()
767 return (cod); in cod_alloc()
771 cod_free(struct cryptop_data *cod) in cod_free() argument
774 free(cod->aad, M_XDATA); in cod_free()
775 free(cod->obuf, M_XDATA); in cod_free()
776 free(cod->buf, M_XDATA); in cod_free()
777 free(cod, M_XDATA); in cod_free()
783 struct cryptop_data *cod = crp->crp_opaque; in cryptodev_cb() local
790 mtx_lock(&cod->cse->lock); in cryptodev_cb()
791 cod->done = true; in cryptodev_cb()
792 mtx_unlock(&cod->cse->lock); in cryptodev_cb()
793 wakeup(cod); in cryptodev_cb()
800 struct cryptop_data *cod = NULL; in cryptodev_op() local
834 cod = cod_alloc(cse, 0, cop->len + cse->hashsize); in cryptodev_op()
839 error = copyin(cop->src, cod->buf, cop->len); in cryptodev_op()
884 if (cod->obuf != NULL) in cryptodev_op()
916 crypto_use_buf(crp, cod->buf, cop->len + cse->hashsize); in cryptodev_op()
917 if (cod->obuf) in cryptodev_op()
918 crypto_use_output_buf(crp, cod->obuf, cop->len + cse->hashsize); in cryptodev_op()
920 crp->crp_opaque = cod; in cryptodev_op()
942 error = copyin(cop->mac, cod->buf + crp->crp_digest_start, in cryptodev_op()
964 while (!cod->done) in cryptodev_op()
965 mtx_sleep(cod, &cse->lock, PWAIT, "crydev", 0); in cryptodev_op()
971 cod->done = false; in cryptodev_op()
982 error = copyout(cod->obuf != NULL ? cod->obuf : in cryptodev_op()
983 cod->buf + crp->crp_payload_start, dst, in cryptodev_op()
992 error = copyout((cod->obuf != NULL ? cod->obuf : cod->buf) + in cryptodev_op()
1002 cod_free(cod); in cryptodev_op()
1010 struct cryptop_data *cod = NULL; in cryptodev_aead() local
1038 cod = cod_alloc(cse, caead->aadlen, caead->len + cse->hashsize); in cryptodev_aead()
1043 if (cod->aad != NULL) in cryptodev_aead()
1044 error = copyin(caead->aad, cod->aad, caead->aadlen); in cryptodev_aead()
1046 error = copyin(caead->aad, cod->buf, caead->aadlen); in cryptodev_aead()
1051 crp->crp_aad = cod->aad; in cryptodev_aead()
1055 if (cod->aad != NULL) in cryptodev_aead()
1059 error = copyin(caead->src, cod->buf + crp->crp_payload_start, in cryptodev_aead()
1066 if (caead->op == COP_ENCRYPT && cod->obuf != NULL) in cryptodev_aead()
1097 crypto_use_buf(crp, cod->buf, crp->crp_payload_start + caead->len + in cryptodev_aead()
1099 if (cod->obuf != NULL) in cryptodev_aead()
1100 crypto_use_output_buf(crp, cod->obuf, caead->len + in cryptodev_aead()
1103 crp->crp_opaque = cod; in cryptodev_aead()
1135 error = copyin(caead->tag, cod->buf + crp->crp_digest_start, in cryptodev_aead()
1157 while (!cod->done) in cryptodev_aead()
1158 mtx_sleep(cod, &cse->lock, PWAIT, "crydev", 0); in cryptodev_aead()
1164 cod->done = false; in cryptodev_aead()
1175 error = copyout(cod->obuf != NULL ? cod->obuf : in cryptodev_aead()
1176 cod->buf + crp->crp_payload_start, dst, in cryptodev_aead()
1185 error = copyout((cod->obuf != NULL ? cod->obuf : cod->buf) + in cryptodev_aead()
1195 cod_free(cod); in cryptodev_aead()