[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180118171020.GA13338@ZenIV.linux.org.uk>
Date: Thu, 18 Jan 2018 17:10:20 +0000
From: Al Viro <viro@...IV.linux.org.uk>
To: Christoph Hellwig <hch@...radead.org>
Cc: Linus Torvalds <torvalds@...ux-foundation.org>,
Network Development <netdev@...r.kernel.org>,
Dan Williams <dan.j.williams@...el.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
linux-arch@...r.kernel.org, Andi Kleen <ak@...ux.intel.com>,
Kees Cook <keescook@...omium.org>,
kernel-hardening@...ts.openwall.com,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
the arch/x86 maintainers <x86@...nel.org>,
Ingo Molnar <mingo@...hat.com>,
"H. Peter Anvin" <hpa@...or.com>,
Thomas Gleixner <tglx@...utronix.de>,
Andrew Morton <akpm@...ux-foundation.org>,
Alan Cox <alan@...ux.intel.com>,
David Miller <davem@...emloft.net>
Subject: Re: [RFC][PATCH] get rid of the use of set_fs() (by way of
kernel_recvmsg()) in sunrpc
On Thu, Jan 18, 2018 at 08:29:57AM -0800, Christoph Hellwig wrote:
> > We could turn ->msg_control/->msg_controllen into another
> > iov_iter, but seeing that we never do scatter-gather for those
> > IMO that would be a massive overkill. A flag controlling whether
> > ->msg_control is kernel or userland pointer would do, especially
> > since we already have a flag for "do we want a native or compat
> > layout for cmsg" in there.
>
> While your current hack seems like a nice short term improvement
> I think we need an iov_iter or iov_iter-light there in the long run.
For one caller in the entire history of the kernel?
> Same for ioctl so that we can pass properly typed kernel or user
> buffers through without all these set_fs hacks.
Umm... Most of the PITA with ioctls is due to compat ones being
reformatted for native and fed under set_fs(). I actually have
a series dealing with most of such places for net ioctls. Sure,
there's also ioctl_by_bdev(), but for those we might be better
off exposing the things like ->get_last_session() and its ilk to
filesystems that want to deal with cdroms...
It's kernel_setsockopt() that is the real PITA...
Powered by blists - more mailing lists