[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230304192610.3818098-1-kuba@kernel.org>
Date: Sat, 4 Mar 2023 11:26:10 -0800
From: Jakub Kicinski <kuba@...nel.org>
To: davem@...emloft.net
Cc: netdev@...r.kernel.org, edumazet@...gle.com, pabeni@...hat.com,
Jakub Kicinski <kuba@...nel.org>,
Adrien Moulin <amoulin@...p.free.fr>, borisp@...dia.com,
john.fastabend@...il.com, tariqt@...dia.com, maximmi@...dia.com,
maxtram95@...il.com
Subject: [PATCH net] net: tls: fix device-offloaded sendpage straddling records
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@...p.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()")
Signed-off-by: Jakub Kicinski <kuba@...nel.org>
---
CC: borisp@...dia.com
CC: john.fastabend@...il.com
CC: tariqt@...dia.com
CC: maximmi@...dia.com
CC: maxtram95@...il.com
Adrien, would you mind sending an official Tested-by: tag
in reply to this patch?
Maxim, can I add a .mailmap entry for you? get_maintainers
will complain if I don't CC your @nvidia address :(
---
net/tls/tls_device.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/net/tls/tls_device.c b/net/tls/tls_device.c
index 6c593788dc25..a7cc4f9faac2 100644
--- a/net/tls/tls_device.c
+++ b/net/tls/tls_device.c
@@ -508,6 +508,8 @@ static int tls_push_data(struct sock *sk,
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);
--
2.39.2
Powered by blists - more mailing lists