Lines Matching refs:caead
1008 cryptodev_aead(struct csession *cse, struct crypt_aead *caead) in cryptodev_aead() argument
1015 if (caead->len > 256*1024-4 || caead->aadlen > 256*1024-4) { in cryptodev_aead()
1020 if (cse->txform == NULL || cse->hashsize == 0 || caead->tag == NULL || in cryptodev_aead()
1021 (caead->len % cse->txform->blocksize) != 0) { in cryptodev_aead()
1031 if (caead->flags & COP_F_CIPHER_FIRST) { in cryptodev_aead()
1032 if (caead->op != COP_ENCRYPT) { in cryptodev_aead()
1038 cod = cod_alloc(cse, caead->aadlen, caead->len + cse->hashsize); in cryptodev_aead()
1039 dst = caead->dst; 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()
1053 crp->crp_aad_length = caead->aadlen; in cryptodev_aead()
1058 crp->crp_payload_start = caead->aadlen; in cryptodev_aead()
1059 error = copyin(caead->src, cod->buf + crp->crp_payload_start, in cryptodev_aead()
1060 caead->len); in cryptodev_aead()
1065 crp->crp_payload_length = caead->len; in cryptodev_aead()
1066 if (caead->op == COP_ENCRYPT && cod->obuf != NULL) in cryptodev_aead()
1068 caead->len; in cryptodev_aead()
1070 crp->crp_digest_start = crp->crp_payload_start + caead->len; in cryptodev_aead()
1075 switch (caead->op) { in cryptodev_aead()
1096 crp->crp_flags = CRYPTO_F_CBIMM | (caead->flags & COP_F_BATCH); in cryptodev_aead()
1097 crypto_use_buf(crp, cod->buf, crp->crp_payload_start + caead->len + in cryptodev_aead()
1100 crypto_use_output_buf(crp, cod->obuf, caead->len + in cryptodev_aead()
1105 if (caead->iv) { in cryptodev_aead()
1111 caead->ivlen == AES_BLOCK_LEN && in cryptodev_aead()
1113 caead->ivlen = AES_XTS_IV_LEN; in cryptodev_aead()
1115 if (caead->ivlen != cse->ivsize) { in cryptodev_aead()
1121 error = copyin(caead->iv, crp->crp_iv, cse->ivsize); in cryptodev_aead()
1135 error = copyin(caead->tag, cod->buf + crp->crp_digest_start, in cryptodev_aead()
1174 if (caead->dst != NULL) { in cryptodev_aead()
1186 crp->crp_digest_start, caead->tag, cse->hashsize); in cryptodev_aead()
1387 struct crypt_aead *caead; in crypto_ioctl() local
1540 caead = (struct crypt_aead *)data; in crypto_ioctl()
1541 cse = cse_find(fcr, caead->ses); in crypto_ioctl()
1546 error = cryptodev_aead(cse, caead); in crypto_ioctl()