Messages in this thread | | | Date | Mon, 8 Dec 2014 19:28:17 +0000 | From | Al Viro <> | Subject | Re: [RFC][PATCHES] iov_iter.c rewrite |
| |
On Mon, Dec 08, 2014 at 10:57:31AM -0800, Linus Torvalds wrote: > So the whole "get_page()" thing is broken. Iterating over pages in a > KVEC is simply wrong, wrong, wrong. It needs to fail.
Well, _that_ is easy to do, of course... E.g. by replacing that thing in iov_iter_get_pages()/iov_iter_get_pages_alloc() with ({ return -EFAULT; }) will do it.
> Iterating over a KVEC to *copy* data is ok. But no page lookup stuff > or page reference things. > > The old code that apparently used "get_user_pages_fast()" was ok > almost by mistake, because it fails on all kernel pages.
On x86 it does, but I don't see anything obvious in generic version in mm/gup.c, so the old code might still have a problem on some architectures. What am I missing here?
| |