On 08/14/2013 05:31 PM, Wanpeng Li wrote: > diff --git a/mm/vmalloc.c b/mm/vmalloc.c > index 93d3182..553368c 100644 > --- a/mm/vmalloc.c > +++ b/mm/vmalloc.c > @@ -1553,7 +1553,7 @@ static void *__vmalloc_area_node(struct vm_struct *area, gfp_t gfp_mask, > unsigned int nr_pages, array_size, i; > gfp_t nested_gfp = (gfp_mask & GFP_RECLAIM_MASK) | __GFP_ZERO; > > - nr_pages = (area->size - PAGE_SIZE) >> PAGE_SHIFT; > + nr_pages = get_vm_area_size(area) >> PAGE_SHIFT; > array_size = (nr_pages * sizeof(struct page *)); I guess this is fine, but I do see this same kind of use in a couple of other spots in the kernel. Was there a reason for doing this in this one spot but ignoring the others? -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>