rust/library/std/src/sys
bors a29dada983 Auto merge of #108283 - the8472:remove-splice-into-pipe, r=ChrisDenton
don't splice from files into pipes in io::copy

This fixes potential data ordering issue where a write performed after a copy operation could become visible in the copy even though it signaled completion.

I assumed that by not setting `SPLICE_F_MOVE` we would be safe and the kernel would do a copy in kernel space and we could avoid the read-write syscall and copy-to/from-userspace costs. But apparently that flag only makes a difference when splicing from a pipe, but not when splicing into it.

Context: https://lkml.org/lkml/2023/2/9/673
2023-04-13 04:03:10 +00:00
..
common Rollup merge of #96971 - zhaixiaojuan:master, r=wesleywiser 2023-04-11 20:28:45 -07:00
hermit Rollup merge of #109722 - hermitcore:read, r=Mark-Simulacrum 2023-04-03 08:58:53 +02:00
itron Match unmatched backticks in library/ 2023-03-03 03:03:29 +01:00
sgx Implement read_buf for a few more types 2023-03-06 12:24:15 +01:00
solid kmc-solid: Implement Socket::read_buf 2023-04-11 12:00:36 +09:00
unix avoid zero-copy ops for File->Pipe and File->Socket in io::copy 2023-04-03 21:10:02 +02:00
unsupported Implement read_buf for a few more types 2023-03-06 12:24:15 +01:00
wasi Implement read_buf for a few more types 2023-03-06 12:24:15 +01:00
wasm std: use a more efficient Once on platforms without threads 2022-12-14 13:55:30 +01:00
windows Fix buffer overrun in (test-only) symlink_junction 2023-04-05 00:37:30 -07:00
mod.rs review 2023-03-17 21:00:10 -07:00