Lines Matching defs:prot

157 static int tls_padding_length(struct tls_prot_info *prot, struct sk_buff *skb,
165 if (prot->version == TLS_1_3_VERSION) {
171 if (offset < prot->prepend_size)
261 struct tls_prot_info *prot = &tls_ctx->prot_info;
266 aead_request_set_ad(aead_req, prot->aad_size);
268 data_len + prot->tag_size,
310 struct tls_prot_info *prot = &tls_ctx->prot_info;
316 target_size += prot->overhead_size;
333 struct tls_prot_info *prot = &tls_ctx->prot_info;
349 skip = prot->prepend_size + msg_pl->sg.size;
357 struct tls_prot_info *prot = &tls_ctx->prot_info;
376 sg_set_buf(&rec->sg_aead_in[0], rec->aad_space, prot->aad_size);
380 sg_set_buf(&rec->sg_aead_out[0], rec->aad_space, prot->aad_size);
470 struct tls_prot_info *prot;
483 prot = &tls_ctx->prot_info;
487 sge->offset -= prot->prepend_size;
488 sge->length += prot->prepend_size;
539 struct tls_prot_info *prot = &tls_ctx->prot_info;
546 switch (prot->cipher_type) {
558 prot->iv_size + prot->salt_size);
560 tls_xor_iv_with_seq(prot, rec->iv_data + iv_offset,
563 sge->offset += prot->prepend_size;
564 sge->length -= prot->prepend_size;
569 aead_request_set_ad(aead_req, prot->aad_size);
589 sge->offset -= prot->prepend_size;
590 sge->length += prot->prepend_size;
602 tls_advance_record_sn(sk, prot, &tls_ctx->tx);
728 struct tls_prot_info *prot = &tls_ctx->prot_info;
747 prot->overhead_size > msg_en->sg.size) ||
750 prot->overhead_size > msg_en->sg.size))) {
756 split_point, prot->overhead_size,
772 prot->overhead_size);
782 if (prot->version == TLS_1_3_VERSION) {
808 tls_make_aad(rec->aad_space, msg_pl->sg.size + prot->tail_size,
809 tls_ctx->tx.rec_seq, record_type, prot);
814 msg_pl->sg.size + prot->tail_size,
820 msg_pl->sg.size + prot->tail_size, i);
834 sk_msg_trim(sk, msg_en, msg_pl->sg.size + prot->overhead_size);
1010 struct tls_prot_info *prot = &tls_ctx->prot_info;
1069 prot->overhead_size;
1152 msg_pl->sg.size + prot->overhead_size);
1467 struct tls_prot_info *prot = &tls_ctx->prot_info;
1475 const int data_len = rxm->full_len - prot->overhead_size;
1476 int tail_pages = !!prot->tail_size;
1482 n_sgin = skb_nsg(skb, rxm->offset + prot->prepend_size,
1483 rxm->full_len - prot->prepend_size);
1529 switch (prot->cipher_type) {
1541 if (prot->version == TLS_1_3_VERSION ||
1542 prot->cipher_type == TLS_CIPHER_CHACHA20_POLY1305) {
1544 prot->iv_size + prot->salt_size);
1547 &dctx->iv[iv_offset] + prot->salt_size,
1548 prot->iv_size);
1551 memcpy(&dctx->iv[iv_offset], tls_ctx->rx.iv, prot->salt_size);
1553 tls_xor_iv_with_seq(prot, &dctx->iv[iv_offset], tls_ctx->rx.rec_seq);
1556 tls_make_aad(dctx->aad, rxm->full_len - prot->overhead_size +
1557 prot->tail_size,
1558 tls_ctx->rx.rec_seq, tlm->control, prot);
1562 sg_set_buf(&sgin[0], dctx->aad, prot->aad_size);
1564 rxm->offset + prot->prepend_size,
1565 rxm->full_len - prot->prepend_size);
1571 sg_set_buf(&sgout[0], dctx->aad, prot->aad_size);
1573 err = skb_to_sgvec(clear_skb, &sgout[1], prot->prepend_size,
1574 data_len + prot->tail_size);
1579 sg_set_buf(&sgout[0], dctx->aad, prot->aad_size);
1586 if (prot->tail_size) {
1589 prot->tail_size);
1599 data_len + prot->tail_size, aead_req, darg);
1619 if (prot->tail_size)
1638 struct tls_prot_info *prot = &tls_ctx->prot_info;
1651 if (unlikely(darg->zc && prot->version == TLS_1_3_VERSION &&
1660 pad = tls_padding_length(prot, darg->skb, darg);
1678 struct tls_prot_info *prot = &tls_ctx->prot_info;
1689 pad = tls_padding_length(prot, tls_strp_msg(ctx), darg);
1696 darg->zc &= !(prot->version == TLS_1_3_VERSION &&
1713 off = rxm->offset + prot->prepend_size;
1714 len = rxm->full_len - prot->overhead_size;
1727 struct tls_prot_info *prot = &tls_ctx->prot_info;
1738 rxm->offset += prot->prepend_size;
1739 rxm->full_len -= prot->overhead_size;
1740 tls_advance_record_sn(sk, prot, &tls_ctx->rx);
1870 tls_read_flush_backlog(struct sock *sk, struct tls_prot_info *prot,
1879 max_rec = prot->overhead_size - prot->tail_size + TLS_MAX_PAYLOAD_SIZE;
1958 struct tls_prot_info *prot = &tls_ctx->prot_info;
2029 to_decrypt = rxm->full_len - prot->overhead_size;
2066 released = tls_read_flush_backlog(sk, prot, len, to_decrypt,
2248 struct tls_prot_info *prot = &tls_ctx->prot_info;
2294 released = tls_read_flush_backlog(sk, prot, INT_MAX,
2359 struct tls_prot_info *prot = &tls_ctx->prot_info;
2366 if (strp->stm.offset + prot->prepend_size > skb->len)
2370 if (WARN_ON(prot->prepend_size > sizeof(header))) {
2376 ret = skb_copy_bits(skb, strp->stm.offset, header, prot->prepend_size);
2384 cipher_overhead = prot->tag_size;
2385 if (prot->version != TLS_1_3_VERSION &&
2386 prot->cipher_type != TLS_CIPHER_CHACHA20_POLY1305)
2387 cipher_overhead += prot->iv_size;
2390 prot->tail_size) {
2660 struct tls_prot_info *prot = &tls_ctx->prot_info;
2712 prot->aad_size = TLS_HEADER_SIZE;
2713 prot->tail_size = 1;
2715 prot->aad_size = TLS_AAD_SPACE_SIZE;
2716 prot->tail_size = 0;
2720 if (nonce_size > MAX_IV_SIZE || prot->aad_size > TLS_MAX_AAD_SIZE) {
2725 prot->version = crypto_info->version;
2726 prot->cipher_type = crypto_info->cipher_type;
2727 prot->prepend_size = TLS_HEADER_SIZE + nonce_size;
2728 prot->tag_size = cipher_desc->tag;
2729 prot->overhead_size = prot->prepend_size +
2730 prot->tag_size + prot->tail_size;
2731 prot->iv_size = cipher_desc->iv;
2732 prot->salt_size = cipher_desc->salt;
2739 prot->rec_seq_size = cipher_desc->rec_seq;
2764 rc = crypto_aead_setauthsize(*aead, prot->tag_size);