From: Alistair Francis <alistair.francis@wdc.com>
As part of supporting KeyUpdate we are going to pass errors up to the
callers of TLS to indaicate a KeyUpdate. Those layers will need to handle
the KeyUpdate and as part of that clear the error.
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
---
include/net/tls.h | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/include/net/tls.h b/include/net/tls.h
index 857340338b69..7de960225da2 100644
--- a/include/net/tls.h
+++ b/include/net/tls.h
@@ -493,6 +493,13 @@ static inline bool tls_offload_tx_resync_pending(struct sock *sk)
struct sk_buff *tls_encrypt_skb(struct sk_buff *skb);
+static inline void tls_clear_err(struct sock *sk)
+{
+ WRITE_ONCE(sk->sk_err, 0);
+ /* Paired with smp_rmb() in tcp_poll() */
+ smp_wmb();
+}
+
#ifdef CONFIG_TLS_DEVICE
void tls_device_sk_destruct(struct sock *sk);
void tls_offload_tx_resync_request(struct sock *sk, u32 got_seq, u32 exp_seq);
--
2.50.1