Thread (2 messages) 2 messages, 2 authors, 2017-03-01

Re: [PATCH RFC v2 00/12] socket sendmsg MSG_ZEROCOPY

From: Willem de Bruijn <hidden>
Date: 2017-03-01 00:58:39
Also in: linux-api

Possibly related (same subject, not in this thread)

On Tue, Feb 28, 2017 at 7:28 PM, Tom Herbert [off-list ref] wrote:
On Tue, Feb 28, 2017 at 3:22 PM, Eric Dumazet [off-list ref] wrote:
quoted
On Tue, 2017-02-28 at 14:52 -0800, Andy Lutomirski wrote:
quoted
The user pages are a gift to the kernel.  The application  may  not
modify this memory ever, otherwise the page cache and on-disk data may
differ.

This is just not okay IMO.
TCP works just fine in this case.

TX checksum will be computed by the NIC after/while data is copied.

If really the application changes the data, that will not cause any
problems, other than user side consistency.

This is why we require a copy (for all buffers that came from zero-copy)
if network stack hits a device that can not offload TX checksum.

Even pwrite() does not guarantee consistency if multiple threads are
using it on overlapping regions.
The Mellanox team working on TLS offload pointed out to us that if
data is changed for a retransmit then it becomes trivial for someone
snooping to break the encryption. Sounds pretty scary and it would be
a shame if we couldn't use zero-copy in that use case :-( Hopefully we
can find a solution...
This requires collusion by the process initiating the zerocopy send
to help the entity snooping the link. That could be an attack on admin
configured tunnels, but user-directed encryption offload like AF_TLS
can still use zerocopy.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help