diff --git a/net/tls/tls_sw.c b/net/tls/tls_sw.c index 4618f1c3113743b8b93f757bca303c8f91d95499..1f3d9789af30fb88cf9e7550b40dcda1e897e262 100644 --- a/net/tls/tls_sw.c +++ b/net/tls/tls_sw.c @@ -646,6 +646,9 @@ static struct sk_buff *tls_wait_data(struct sock *sk, int flags, return NULL; } + if (sk->sk_shutdown & RCV_SHUTDOWN) + return NULL; + if (sock_flag(sk, SOCK_DONE)) return NULL;