This is a note to let you know that I've just added the patch titled [PATCH stable 5.8 08/22] chelsio/chtls: fix tls record info to user to the 5.8-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: chelsio-chtls-fix-tls-record-info-to-user.patch and it can be found in the queue-5.8 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From foo@baz Sat Oct 31 09:06:02 AM CET 2020 From: Vinay Kumar Yadav <vinay.yadav@xxxxxxxxxxx> Date: Fri, 23 Oct 2020 00:35:57 +0530 Subject: [PATCH stable 5.8 08/22] chelsio/chtls: fix tls record info to user From: Vinay Kumar Yadav <vinay.yadav@xxxxxxxxxxx> [ Upstream commit 4f3391ce8f5a69e7e6d66d0a3fc654eb6dbdc919 ] chtls_pt_recvmsg() receives a skb with tls header and subsequent skb with data, need to finalize the data copy whenever next skb with tls header is available. but here current tls header is overwritten by next available tls header, ends up corrupting user buffer data. fixing it by finalizing current record whenever next skb contains tls header. v1->v2: - Improved commit message. Fixes: 17a7d24aa89d ("crypto: chtls - generic handling of data and hdr") Signed-off-by: Vinay Kumar Yadav <vinay.yadav@xxxxxxxxxxx> Link: https://lore.kernel.org/r/20201022190556.21308-1-vinay.yadav@xxxxxxxxxxx Signed-off-by: Jakub Kicinski <kuba@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/crypto/chelsio/chtls/chtls_io.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) --- a/drivers/crypto/chelsio/chtls/chtls_io.c +++ b/drivers/crypto/chelsio/chtls/chtls_io.c @@ -1585,6 +1585,7 @@ skip_copy: tp->urg_data = 0; if ((avail + offset) >= skb->len) { + struct sk_buff *next_skb; if (ULP_SKB_CB(skb)->flags & ULPCB_FLAG_TLS_HDR) { tp->copied_seq += skb->len; hws->rcvpld = skb->hdr_len; @@ -1595,8 +1596,10 @@ skip_copy: chtls_free_skb(sk, skb); buffers_freed++; hws->copied_seq = 0; - if (copied >= target && - !skb_peek(&sk->sk_receive_queue)) + next_skb = skb_peek(&sk->sk_receive_queue); + if (copied >= target && !next_skb) + break; + if (ULP_SKB_CB(next_skb)->flags & ULPCB_FLAG_TLS_HDR) break; } } while (len > 0); Patches currently in stable-queue which might be from vinay.yadav@xxxxxxxxxxx are queue-5.8/chelsio-chtls-fix-memory-leaks-in-cpl-handlers.patch queue-5.8/chelsio-chtls-fix-deadlock-issue.patch queue-5.8/chelsio-chtls-fix-tls-record-info-to-user.patch