Re: [PATCH] regression: vmalloc easily fail.
From: Roland Dreier
Date: Tue Oct 28 2008 - 17:22:34 EST
> 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.
--
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/