projects
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
193250a
)
net: tls: fix device-offloaded sendpage straddling records
author
Jakub Kicinski
<kuba@kernel.org>
Sat, 4 Mar 2023 19:26:10 +0000
(11:26 -0800)
committer
Jakub Kicinski
<kuba@kernel.org>
Mon, 6 Mar 2023 21:26:16 +0000
(13:26 -0800)
Adrien reports that incorrect data is transmitted when a single
page straddles multiple records. We would transmit the same
data in all iterations of the loop.
Reported-by: Adrien Moulin <amoulin@corp.free.fr>
Link:
https://lore.kernel.org/all/61481278.42813558.1677845235112.JavaMail.zimbra@corp.free.fr
Fixes: c1318b39c7d3 ("tls: Add opt-in zerocopy mode of sendfile()")
Tested-by: Adrien Moulin <amoulin@corp.free.fr>
Reviewed-by: Tariq Toukan <tariqt@nvidia.com>
Acked-by: Maxim Mikityanskiy <maxtram95@gmail.com>
Link:
https://lore.kernel.org/r/20230304192610.3818098-1-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/tls/tls_device.c
patch
|
blob
|
history
diff --git
a/net/tls/tls_device.c
b/net/tls/tls_device.c
index 6c593788dc250682cabedcf37332e75ee3b6ce66..a7cc4f9faac28ce10d3088570d2a44f5bef9a8e1 100644
(file)
--- a/
net/tls/tls_device.c
+++ b/
net/tls/tls_device.c
@@
-508,6
+508,8
@@
handle_error:
zc_pfrag.offset = iter_offset.offset;
zc_pfrag.size = copy;
tls_append_frag(record, &zc_pfrag, copy);
+
+ iter_offset.offset += copy;
} else if (copy) {
copy = min_t(size_t, copy, pfrag->size - pfrag->offset);