]> git.hungrycats.org Git - linux/commitdiff
tls: rx: don't issue wake ups when data is decrypted
authorJakub Kicinski <kuba@kernel.org>
Fri, 8 Apr 2022 03:38:21 +0000 (20:38 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 6 Mar 2024 14:38:47 +0000 (14:38 +0000)
[ Upstream commit 5dbda02d322db7762f1a0348117cde913fb46c13 ]

We inform the applications that data is available when
the record is received. Decryption happens inline inside
recvmsg or splice call. Generating another wakeup inside
the decryption handler seems pointless as someone must
be actively reading the socket if we are executing this
code.

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Stable-dep-of: f7fa16d49837 ("tls: decrement decrypt_pending if no async completion will be called")
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/tls/tls_sw.c

index 0a6630bbef53e3470cd6eb906a3843d73d58a6c9..5fdc4f5193ee572ed34db71d82e63209af7b02fd 100644 (file)
@@ -1557,7 +1557,6 @@ static int decrypt_skb_update(struct sock *sk, struct sk_buff *skb,
                              bool async)
 {
        struct tls_context *tls_ctx = tls_get_ctx(sk);
-       struct tls_sw_context_rx *ctx = tls_sw_ctx_rx(tls_ctx);
        struct tls_prot_info *prot = &tls_ctx->prot_info;
        struct strp_msg *rxm = strp_msg(skb);
        struct tls_msg *tlm = tls_msg(skb);
@@ -1596,7 +1595,6 @@ static int decrypt_skb_update(struct sock *sk, struct sk_buff *skb,
                rxm->full_len -= prot->overhead_size;
                tls_advance_record_sn(sk, prot, &tls_ctx->rx);
                tlm->decrypted = 1;
-               ctx->saved_data_ready(sk);
        } else {
                *zc = false;
        }