Re: [PATCH v2 02/11] mm: Hardened usercopy

Rik van Riel
2016-07-15T01:04:36Z

[-- Attachment #1: Type: text/plain, Size: 797 bytes --]

On Fri, 2016-07-15 at 09:20 +1000, Balbir Singh wrote:

> > ==
> > +    ((unsigned long)end & (unsigned
> > long)PAGE_MASK)))
> > + return NULL;
> > +
> > + /* Allow if start and end are inside the same compound
> > page. */
> > + endpage = virt_to_head_page(end);
> > + if (likely(endpage == page))
> > + return NULL;
> > +
> > + /* Allow special areas, device memory, and sometimes
> > kernel data. */
> > + if (PageReserved(page) && PageReserved(endpage))
> > + return NULL;
>
> If we came here, it's likely that endpage > page, do we need to check
> that only the first and last pages are reserved? What about the ones
> in
> the middle?

I think this will be so rare, we can get away with just
checking the beginning and the end.

--

All Rights Reversed.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 473 bytes --]