summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorSabrina Dubroca <sd@queasysnail.net>2024-02-15 17:17:31 +0100
committerJakub Kicinski <kuba@kernel.org>2024-02-21 14:25:51 -0800
commitec823bf3a479d42c589dc0f28ef4951c49cd2d2a (patch)
tree8e5187005cd3cfa85ec9c4fd6996ea748f336f13 /tools
parentfdfbaec5923d9359698cbb286bc0deadbb717504 (diff)
tls: don't skip over different type records from the rx_list
If we queue 3 records: - record 1, type DATA - record 2, some other type - record 3, type DATA and do a recv(PEEK), the rx_list will contain the first two records. The next large recv will walk through the rx_list and copy data from record 1, then stop because record 2 is a different type. Since we haven't filled up our buffer, we will process the next available record. It's also DATA, so we can merge it with the current read. We shouldn't do that, since there was a record in between that we ignored. Add a flag to let process_rx_list inform tls_sw_recvmsg that it had more data available. Fixes: 692d7b5d1f91 ("tls: Fix recvmsg() to be able to peek across multiple records") Signed-off-by: Sabrina Dubroca <sd@queasysnail.net> Link: https://lore.kernel.org/r/f00c0c0afa080c60f016df1471158c1caf983c34.1708007371.git.sd@queasysnail.net Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'tools')
0 files changed, 0 insertions, 0 deletions