From: Jakub Kicinski Date: Mon, 11 Apr 2022 19:19:10 +0000 (-0700) Subject: tls: rx: move counting TlsDecryptErrors for sync X-Git-Tag: v5.15.151~47 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=2ec59e16554992ccba9747a1b5e13fc482b0ed15;p=thirdparty%2Fkernel%2Fstable.git tls: rx: move counting TlsDecryptErrors for sync [ Upstream commit 284b4d93daee56dff3e10029ddf2e03227f50dbf ] 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 Signed-off-by: David S. Miller Stable-dep-of: f7fa16d49837 ("tls: decrement decrypt_pending if no async completion will be called") Signed-off-by: Sasha Levin --- diff --git a/net/tls/tls_sw.c b/net/tls/tls_sw.c index d3bbae9af9f41..85fa49170b4e5 100644 --- a/net/tls/tls_sw.c +++ b/net/tls/tls_sw.c @@ -274,6 +274,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); @@ -1583,8 +1585,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; }