tls: rx: don't handle TLS 1.3 in the async crypto callback
authorJakub Kicinski <kuba@kernel.org>
Mon, 11 Apr 2022 19:19:11 +0000 (12:19 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 13 Apr 2022 10:45:39 +0000 (11:45 +0100)
Async crypto never worked with TLS 1.3 and was explicitly disabled in
commit 8497ded2d16c ("net/tls: Disable async decrytion for tls1.3").
There's no need for us to handle TLS 1.3 padding in the async cb.

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/tls/tls_sw.c

index fd97064..d0b7078 100644 (file)
@@ -188,17 +188,12 @@ static void tls_decrypt_done(struct crypto_async_request *req, int err)
                tls_err_abort(skb->sk, err);
        } else {
                struct strp_msg *rxm = strp_msg(skb);
-               int pad;
 
-               pad = padding_length(prot, skb);
-               if (pad < 0) {
-                       ctx->async_wait.err = pad;
-                       tls_err_abort(skb->sk, pad);
-               } else {
-                       rxm->full_len -= pad;
-                       rxm->offset += prot->prepend_size;
-                       rxm->full_len -= prot->overhead_size;
-               }
+               /* No TLS 1.3 support with async crypto */
+               WARN_ON(prot->tail_size);
+
+               rxm->offset += prot->prepend_size;
+               rxm->full_len -= prot->overhead_size;
        }
 
        /* After using skb->sk to propagate sk through crypto async callback