On Fri, May 08, 2015 at 07:37:59AM +0200, Ingo Molnar wrote:

>     same as iov_iter_get_pages(), except that pages array is allocated
>     (kmalloc if possible, vmalloc if that fails) and left for caller to
>     free.  Lustre and NFS ->direct_IO() switched to it.
>     
>     Signed-off-by: Al Viro <v...@zeniv.linux.org.uk>
> 
> So if code does iov_iter_get_pages_alloc() on a user address that has 
> a real struct page behind it - and some other code does a regular 
> get_user_pages() on it, we'll have two sets of struct page 
> descriptors, the 'real' one, and a fake allocated one, right?

Huh?  iov_iter_get_pages() is given an array of pointers to struct page,
which it fills with what it finds.  iov_iter_get_pages_alloc() *allocates*
such an array, fills that with what it finds and gives the allocated array
to caller.

We are not allocating any struct page instances in either of those.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to