tls: rx: move counting TlsDecryptErrors for sync
authorJakub Kicinski <kuba@kernel.org>
Mon, 11 Apr 2022 19:19:10 +0000 (12:19 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 13 Apr 2022 10:45:39 +0000 (11:45 +0100)
Move counting TlsDecryptErrors to tls_do_decryption()
where differences between sync and async crypto are
reconciled.

No functional changes, this code just always gave
me a pause.

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

index fd19047..fd97064 100644 (file)
@@ -270,6 +270,8 @@ static int tls_do_decryption(struct sock *sk,
 
                ret = crypto_wait_req(ret, &ctx->async_wait);
        }
+       if (ret == -EBADMSG)
+               TLS_INC_STATS(sock_net(sk), LINUX_MIB_TLSDECRYPTERROR);
 
        if (async)
                atomic_dec(&ctx->decrypt_pending);
@@ -1584,8 +1586,6 @@ static int decrypt_skb_update(struct sock *sk, struct sk_buff *skb,
        if (err < 0) {
                if (err == -EINPROGRESS)
                        tls_advance_record_sn(sk, prot, &tls_ctx->rx);
-               else if (err == -EBADMSG)
-                       TLS_INC_STATS(sock_net(sk), LINUX_MIB_TLSDECRYPTERROR);
                return err;
        }