On Fri, May 08, 2015 at 11:26:01AM +0200, Ingo Molnar wrote:
>
> * Al Viro <[email protected]> wrote:
>
> > On Fri, May 08, 2015 at 07:37:59AM +0200, Ingo Molnar wrote:
> >
> > > 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.
>
> Ah, stupid me - thanks for the explanation!
My fault, actually - this "pages array" should've been either
"'pages' array" or "array of pointers to struct page".
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/