Re: [PATCH 0/3] vmsplice: make vmsplice a trivial wrapper for preadv2/pwritev2
Linus Torvalds <[email protected]>
| Newsgroups | org.kernel.vger.linux-api,dev.linux.lists.patches,org.kernel.vger.linux-fsdevel,org.kernel.vger.linux-kernel,org.kernel.vger.netdev,org.kvack.linux-mm |
|---|---|
| Message-ID | <CAHk-=wjARJSHGWvZKJysvZOVEVi7bNL5x9K2X7ifhfLA9YK2sQ@mail.gmail.com> |
On Wed, 3 Jun 2026 at 16:01, Askar Safin <[email protected]> wrote: > > So, if we remove tee(2), then we will probably need to remove all > non-standard implementations of pipe_buf_operations. I don't think tee matters. Sure, it will share pages across pipes. But if we make normal "splice to pipe" always copy from the page cache, nobody cares. You can corrupt the resulting pages as much as you want - through multiple pipes if you use tee() to copy it - and it's all just corrupting your private copy. And yes, iSCSI and nvme might do their own splice-like thing, but again, nobody really cares. When it's all kernel-internal, the attack surface has gone away. So that's why splice() (and vmsplice()) is special - not because it's buggy, but because it's the user-facing attack surface to expose bugs elsewhere. Linus