Commit a069a905 authored by Gal Pressman's avatar Gal Pressman Committed by David S. Miller
Browse files

Revert "tls: rx: move counting TlsDecryptErrors for sync"



This reverts commit 284b4d93.
When using TLS device offload and coming from tls_device_reencrypt()
flow, -EBADMSG error in tls_do_decryption() should not be counted
towards the TLSTlsDecryptError counter.

Move the counter increase back to the decrypt_internal() call site in
decrypt_skb_update().
This also fixes an issue where:
	if (n_sgin < 1)
		return -EBADMSG;

Errors in decrypt_internal() were not counted after the cited patch.

Fixes: 284b4d93 ("tls: rx: move counting TlsDecryptErrors for sync")
Cc: Jakub Kicinski <kuba@kernel.org>
Reviewed-by: default avatarMaxim Mikityanskiy <maximmi@nvidia.com>
Reviewed-by: default avatarTariq Toukan <tariqt@nvidia.com>
Signed-off-by: default avatarGal Pressman <gal@nvidia.com>
Reviewed-by: default avatarJakub Kicinski <kuba@kernel.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent ae9fdf6c
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -267,9 +267,6 @@ static int tls_do_decryption(struct sock *sk,
	}
	darg->async = false;

	if (ret == -EBADMSG)
		TLS_INC_STATS(sock_net(sk), LINUX_MIB_TLSDECRYPTERROR);

	return ret;
}

@@ -1579,8 +1576,11 @@ static int decrypt_skb_update(struct sock *sk, struct sk_buff *skb,
	}

	err = decrypt_internal(sk, skb, dest, NULL, darg);
	if (err < 0)
	if (err < 0) {
		if (err == -EBADMSG)
			TLS_INC_STATS(sock_net(sk), LINUX_MIB_TLSDECRYPTERROR);
		return err;
	}
	if (darg->async)
		goto decrypt_next;