• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-12-stable/sys/opencrypto/

Lines Matching defs:cse

286 	struct csession *cse;
381 struct csession *cse;
634 cse = csecreate(fcr, cses, crie.cri_key, crie.cri_klen,
638 if (cse == NULL) {
645 sop->ses = cse->ses;
652 SES2(sop)->crid = crypto_ses2hid(cse->cses);
687 cse = csefind(fcr, cop->ses);
688 if (cse == NULL) {
692 error = cryptodev_op(cse, cop, active_cred, td);
693 csefree(cse);
762 cse = csefind(fcr, caead->ses);
763 if (cse == NULL) {
767 error = cryptodev_aead(cse, caead, active_cred, td);
768 csefree(cse);
782 cod_alloc(struct csession *cse, size_t len, struct thread *td)
789 cod->cse = cse;
811 cryptodev_warn(struct csession *cse)
816 switch (cse->cipher) {
843 switch (cse->mac) {
853 struct csession *cse,
868 if (cse->txform) {
869 if (cop->len == 0 || (cop->len % cse->txform->blocksize) != 0) {
875 if (cse->thash)
876 cod = cod_alloc(cse, cop->len + cse->thash->hashsize, td);
878 cod = cod_alloc(cse, cop->len, td);
880 crp = crypto_getreq((cse->txform != NULL) + (cse->thash != NULL));
887 if (cse->thash && cse->txform) {
895 } else if (cse->thash) {
897 } else if (cse->txform) {
916 crda->crd_alg = cse->mac;
917 crda->crd_key = cse->mackey;
918 crda->crd_klen = cse->mackeylen * 8;
929 crde->crd_alg = cse->cipher;
930 crde->crd_key = cse->key;
931 crde->crd_klen = cse->keylen * 8;
939 crp->crp_session = cse->cses;
948 if (cse->cipher == CRYPTO_ARC4) { /* XXX use flag? */
954 cse->txform->ivsize))) {
960 } else if (cse->cipher == CRYPTO_ARC4) { /* XXX use flag? */
964 crde->crd_skip = cse->txform->ivsize;
965 crde->crd_len -= cse->txform->ivsize;
973 cryptodev_warn(cse);
989 mtx_lock(&cse->lock);
991 mtx_sleep(cod, &cse->lock, PWAIT, "crydev", 0);
992 mtx_unlock(&cse->lock);
1016 cop->mac, cse->thash->hashsize))) {
1032 struct csession *cse,
1047 if (cse->txform == NULL || cse->thash == NULL || caead->tag == NULL ||
1048 (caead->len % cse->txform->blocksize) != 0) {
1053 cod = cod_alloc(cse, caead->aadlen + caead->len + cse->thash->hashsize,
1089 if (cse->cipher == CRYPTO_AES_NIST_GCM_16 ||
1090 cse->cipher == CRYPTO_AES_CCM_16)
1096 crda->crd_alg = cse->mac;
1097 crda->crd_key = cse->mackey;
1098 crda->crd_klen = cse->mackeylen * 8;
1108 crde->crd_alg = cse->cipher;
1109 crde->crd_key = cse->key;
1110 crde->crd_klen = cse->keylen * 8;
1117 crp->crp_session = cse->cses;
1134 crde->crd_skip += cse->txform->ivsize;
1135 crde->crd_len -= cse->txform->ivsize;
1139 caead->len + caead->aadlen, cse->thash->hashsize))) {
1143 cryptodev_warn(cse);
1158 mtx_lock(&cse->lock);
1160 mtx_sleep(cod, &cse->lock, PWAIT, "crydev", 0);
1161 mtx_unlock(&cse->lock);
1184 caead->aadlen + caead->len, caead->tag, cse->thash->hashsize))) {
1207 mtx_lock(&cod->cse->lock);
1209 mtx_unlock(&cod->cse->lock);
1379 struct csession *cse;
1381 while ((cse = TAILQ_FIRST(&fcr->csessions))) {
1382 TAILQ_REMOVE(&fcr->csessions, cse, next);
1383 KASSERT(cse->refs == 1,
1384 ("%s: crypto session %p with %d refs", __func__, cse,
1385 cse->refs));
1386 csefree(cse);
1404 struct csession *cse;
1407 TAILQ_FOREACH(cse, &fcr->csessions, next) {
1408 if (cse->ses == ses) {
1409 refcount_acquire(&cse->refs);
1411 return (cse);
1421 struct csession *cse;
1424 TAILQ_FOREACH(cse, &fcr->csessions, next) {
1425 if (cse->ses == ses) {
1426 TAILQ_REMOVE(&fcr->csessions, cse, next);
1428 csefree(cse);
1441 struct csession *cse;
1443 cse = malloc(sizeof(struct csession), M_XDATA, M_NOWAIT | M_ZERO);
1444 if (cse == NULL)
1446 mtx_init(&cse->lock, "cryptodev", "crypto session lock", MTX_DEF);
1447 refcount_init(&cse->refs, 1);
1448 cse->key = key;
1449 cse->keylen = keylen/8;
1450 cse->mackey = mackey;
1451 cse->mackeylen = mackeylen/8;
1452 cse->cses = cses;
1453 cse->cipher = cipher;
1454 cse->mac = mac;
1455 cse->txform = txform;
1456 cse->thash = thash;
1458 TAILQ_INSERT_TAIL(&fcr->csessions, cse, next);
1459 cse->ses = fcr->sesn++;
1461 return (cse);
1465 csefree(struct csession *cse)
1468 if (!refcount_release(&cse->refs))
1470 crypto_freesession(cse->cses);
1471 mtx_destroy(&cse->lock);
1472 if (cse->key)
1473 free(cse->key, M_XDATA);
1474 if (cse->mackey)
1475 free(cse->mackey, M_XDATA);
1476 free(cse, M_XDATA);