tls: splice_read: fix accessing pre-processed records
authorJakub Kicinski <kuba@kernel.org>
Wed, 24 Nov 2021 23:25:54 +0000 (15:25 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 1 Dec 2021 08:04:53 +0000 (09:04 +0100)
commit6a012337bc701f347b7eac7e5e2584348debf83f
tree4c62d9ba326b9d95e81ae37ea912e996a8003785
parentbefe4e2915943a086ec3c65dbfe536de674f21a4
tls: splice_read: fix accessing pre-processed records

[ Upstream commit e062fe99cccd9ff9f232e593d163ecabd244fae8 ]

recvmsg() will put peek()ed and partially read records onto the rx_list.
splice_read() needs to consult that list otherwise it may miss data.
Align with recvmsg() and also put partially-read records onto rx_list.
tls_sw_advance_skb() is pretty pointless now and will be removed in
net-next.

Fixes: 692d7b5d1f91 ("tls: Fix recvmsg() to be able to peek across multiple records")
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/tls/tls_sw.c