[PATCH v2 02/11] mm: Hardened usercopy

Rik van Riel riel at redhat.com
Thu Jul 14 18:04:18 PDT 2016


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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: This is a digitally signed message part
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20160714/9ed8313e/attachment-0001.sig>


More information about the linux-arm-kernel mailing list