Lines Matching refs:darg
154 struct tls_decrypt_arg *darg) in tls_padding_length() argument
163 char content_type = darg->zc ? darg->tail : 0; in tls_padding_length()
237 struct tls_decrypt_arg *darg) in tls_do_decryption() argument
250 if (darg->async) { in tls_do_decryption()
263 if (darg->async) in tls_do_decryption()
268 darg->async = false; in tls_do_decryption()
1457 struct tls_decrypt_arg *darg) in tls_decrypt_sg() argument
1481 if (darg->zc && (out_iov || out_sg)) { in tls_decrypt_sg()
1490 darg->zc = false; in tls_decrypt_sg()
1592 data_len + prot->tail_size, aead_req, darg); in tls_decrypt_sg()
1596 darg->skb = clear_skb ?: tls_strp_msg(ctx); in tls_decrypt_sg()
1599 if (unlikely(darg->async)) { in tls_decrypt_sg()
1602 __skb_queue_tail(&ctx->async_hold, darg->skb); in tls_decrypt_sg()
1607 darg->tail = dctx->tail; in tls_decrypt_sg()
1622 struct msghdr *msg, struct tls_decrypt_arg *darg) in tls_decrypt_sw() argument
1629 err = tls_decrypt_sg(sk, &msg->msg_iter, NULL, darg); in tls_decrypt_sw()
1638 if (unlikely(darg->zc && prot->version == TLS_1_3_VERSION && in tls_decrypt_sw()
1639 darg->tail != TLS_RECORD_TYPE_DATA)) { in tls_decrypt_sw()
1640 darg->zc = false; in tls_decrypt_sw()
1641 if (!darg->tail) in tls_decrypt_sw()
1644 return tls_decrypt_sw(sk, tls_ctx, msg, darg); in tls_decrypt_sw()
1647 pad = tls_padding_length(prot, darg->skb, darg); in tls_decrypt_sw()
1649 if (darg->skb != tls_strp_msg(ctx)) in tls_decrypt_sw()
1650 consume_skb(darg->skb); in tls_decrypt_sw()
1654 rxm = strp_msg(darg->skb); in tls_decrypt_sw()
1662 struct tls_context *tls_ctx, struct tls_decrypt_arg *darg) in tls_decrypt_device() argument
1676 pad = tls_padding_length(prot, tls_strp_msg(ctx), darg); in tls_decrypt_device()
1680 darg->async = false; in tls_decrypt_device()
1681 darg->skb = tls_strp_msg(ctx); in tls_decrypt_device()
1683 darg->zc &= !(prot->version == TLS_1_3_VERSION && in tls_decrypt_device()
1684 tls_msg(darg->skb)->control != TLS_RECORD_TYPE_DATA); in tls_decrypt_device()
1686 rxm = strp_msg(darg->skb); in tls_decrypt_device()
1689 if (!darg->zc) { in tls_decrypt_device()
1691 darg->skb = tls_strp_msg_detach(ctx); in tls_decrypt_device()
1692 if (!darg->skb) in tls_decrypt_device()
1703 err = skb_copy_datagram_msg(darg->skb, off, msg, len); in tls_decrypt_device()
1711 struct tls_decrypt_arg *darg) in tls_rx_one_record() argument
1718 err = tls_decrypt_device(sk, msg, tls_ctx, darg); in tls_rx_one_record()
1720 err = tls_decrypt_sw(sk, tls_ctx, msg, darg); in tls_rx_one_record()
1724 rxm = strp_msg(darg->skb); in tls_rx_one_record()
1734 struct tls_decrypt_arg darg = { .zc = true, }; in decrypt_skb() local
1736 return tls_decrypt_sg(sk, NULL, sgout, &darg); in decrypt_skb()
1977 struct tls_decrypt_arg darg; in tls_sw_recvmsg() local
1995 memset(&darg.inargs, 0, sizeof(darg.inargs)); in tls_sw_recvmsg()
2004 darg.zc = true; in tls_sw_recvmsg()
2008 darg.async = ctx->async_capable; in tls_sw_recvmsg()
2010 darg.async = false; in tls_sw_recvmsg()
2012 err = tls_rx_one_record(sk, msg, &darg); in tls_sw_recvmsg()
2018 async |= darg.async; in tls_sw_recvmsg()
2027 err = tls_record_content_type(msg, tls_msg(darg.skb), &control); in tls_sw_recvmsg()
2029 DEBUG_NET_WARN_ON_ONCE(darg.zc); in tls_sw_recvmsg()
2032 __skb_queue_tail(&ctx->rx_list, darg.skb); in tls_sw_recvmsg()
2042 rxm = strp_msg(darg.skb); in tls_sw_recvmsg()
2046 if (!darg.zc) { in tls_sw_recvmsg()
2048 struct sk_buff *skb = darg.skb; in tls_sw_recvmsg()
2050 DEBUG_NET_WARN_ON_ONCE(darg.skb == ctx->strp.anchor); in tls_sw_recvmsg()
2167 struct tls_decrypt_arg darg; in tls_sw_splice_read() local
2174 memset(&darg.inargs, 0, sizeof(darg.inargs)); in tls_sw_splice_read()
2176 err = tls_rx_one_record(sk, NULL, &darg); in tls_sw_splice_read()
2183 skb = darg.skb; in tls_sw_splice_read()