RE: [PATCH v3] arm: ioremap: Fix static vm area boundary check.

From: Nicolas Pitre
Date: Mon May 19 2014 - 23:15:34 EST


On Mon, 19 May 2014, Li.Xiubo@xxxxxxxxxxxxx wrote:

> > > For each vmalloc area, there is one guard page at the end of it.
> > > so the vm->size = PAGE_ALIGN(offset + request size) + guard page size.
> >
> > Nope. There is no guard page for statically created vmalloc areas.
> >
>
> Yes, you are right, I'm thinking why the static area has no guard page?

The virtual addresses being used are provided by the static mapping
descriptions themselves. Sometimes those mappings are large and
contiguous, covering multiple peripherals at once with a single TLB,
etc. There is simply no room for a guard page, or no guard page at all
between different areas covered by a single section mapping (1MB worth
of mapping from a single page table entry).

All this to say that trying to enforce a guard page in those cases is
likely to throw away all the performance advantage and conplexify
things.


Nicolas
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/