Lines Matching refs:caead
865 cryptodev_aead(struct csession *cse, struct crypt_aead *caead) in cryptodev_aead() argument
873 if (caead->len > 256*1024-4 || caead->aadlen > 256*1024-4) { in cryptodev_aead()
878 if ((caead->len % cse->blocksize) != 0) { in cryptodev_aead()
883 if (cse->hashsize == 0 || caead->tag == NULL) { in cryptodev_aead()
893 if (caead->flags & COP_F_CIPHER_FIRST) { in cryptodev_aead()
894 if (caead->op != COP_ENCRYPT) { in cryptodev_aead()
900 cod = cod_alloc(cse, caead->aadlen, caead->len + cse->hashsize); in cryptodev_aead()
901 dst = caead->dst; in cryptodev_aead()
906 error = copyin(caead->aad, cod->aad, caead->aadlen); in cryptodev_aead()
908 error = copyin(caead->aad, cod->buf, caead->aadlen); in cryptodev_aead()
915 crp->crp_aad_length = caead->aadlen; in cryptodev_aead()
920 crp->crp_payload_start = caead->aadlen; in cryptodev_aead()
921 error = copyin(caead->src, cod->buf + crp->crp_payload_start, in cryptodev_aead()
922 caead->len); in cryptodev_aead()
927 crp->crp_payload_length = caead->len; in cryptodev_aead()
928 if (caead->op == COP_ENCRYPT && cod->obuf != NULL) in cryptodev_aead()
930 caead->len; in cryptodev_aead()
932 crp->crp_digest_start = crp->crp_payload_start + caead->len; in cryptodev_aead()
938 switch (caead->op) { in cryptodev_aead()
959 crp->crp_flags = CRYPTO_F_CBIMM | (caead->flags & COP_F_BATCH); in cryptodev_aead()
960 crypto_use_buf(crp, cod->buf, crp->crp_payload_start + caead->len + in cryptodev_aead()
963 crypto_use_output_buf(crp, cod->obuf, caead->len + in cryptodev_aead()
968 if (caead->iv) { in cryptodev_aead()
975 caead->ivlen == AES_BLOCK_LEN) in cryptodev_aead()
976 caead->ivlen = AES_XTS_IV_LEN; in cryptodev_aead()
983 if (caead->ivlen != cse->ivsize) { in cryptodev_aead()
989 error = copyin(caead->iv, crp->crp_iv, cse->ivsize); in cryptodev_aead()
1002 error = copyin(caead->tag, cod->buf + crp->crp_digest_start, in cryptodev_aead()
1041 if (caead->dst != NULL) { in cryptodev_aead()
1053 crp->crp_digest_start, caead->tag, cse->hashsize); in cryptodev_aead()
1128 struct crypt_aead *caead; in crypto_ioctl() local
1228 caead = (struct crypt_aead *)data; in crypto_ioctl()
1229 cse = cse_find(fcr, caead->ses); in crypto_ioctl()
1234 error = cryptodev_aead(cse, caead); in crypto_ioctl()