On Wed, Jun 24, 2020 at 11:14 AM Christoph Hellwig <hch@xxxxxx> wrote: > > So we'd need new user copy functions for just those cases No. We'd open-code them. They'd look at "oh, I'm supposed to use a kernel pointer" and just use those. IOW, basically IN THE CODE that cares (and the whole argument is that this code is one or two special cases) you do /* This has not been converted to the new world order */ if (get_fs() == KERNEL_DS) memcpy(..) else copy_from_user(); You're overdesigning things. You're making them more complex than they need to be. Basically, I do *NOT* want to pollute the VFS layer with new interfaces that shouldn't exist in the long run. I'd much rather make the eventual goal be to get rid of 'read/write' entirely in favour of the 'iter' things, but what I absolutely do *NOT* want to see is to make a _third_ interface for reading and writing. Quite the reverse. We should strive to make it a _single_ interface, not add a new one. And I'd rather have a couple of ugly code details in odd places (that we can hopefully fix up later) than have new VFS infrastructure that will then hang around forever more. Linus