Messages in this thread | | | From | Roland Dreier <> | Subject | Re: [PATCH] regression: vmalloc easily fail. | Date | Tue, 28 Oct 2008 14:22:16 -0700 |
| |
> I'm guessing that the missing comment explains that this is > intentional, to trap buffer overflows?
Actually, speaking of comments, it's interesting that __get_vm_area_node() -- which is called from vmalloc() -- does:
/* * We always allocate a guard page. */ size += PAGE_SIZE;
va = alloc_vmap_area(size, align, start, end, node, gfp_mask);
and alloc_vmap_area() adds another PAGE_SIZE, as the original email pointed out:
while (addr + size >= first->va_start && addr + size <= vend) { addr = ALIGN(first->va_end + PAGE_SIZE, align);
I wonder if the double padding is causing a problem when things get too fragmented?
- R.
| |