Messages in this thread | | | Subject | Re: [PATCH v2 02/11] mm: Hardened usercopy | From | Rik van Riel <> | Date | Thu, 14 Jul 2016 21:04:18 -0400 |
| |
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.[unhandled content-type:application/pgp-signature] | |