[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHk-=wgC4a9rKrKLTHbH5cA5dyaqqy4Hnsr+re144AiJuNwv9Q@mail.gmail.com>
Date: Wed, 24 Jun 2020 11:20:26 -0700
From: Linus Torvalds <torvalds@...ux-foundation.org>
To: Christoph Hellwig <hch@....de>
Cc: Al Viro <viro@...iv.linux.org.uk>,
Luis Chamberlain <mcgrof@...nel.org>,
Kees Cook <keescook@...omium.org>,
Iurii Zaikin <yzaikin@...gle.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
linux-fsdevel <linux-fsdevel@...r.kernel.org>
Subject: Re: [PATCH 03/11] fs: add new read_uptr and write_uptr file operations
On Wed, Jun 24, 2020 at 11:14 AM Christoph Hellwig <hch@....de> 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
Powered by blists - more mailing lists