# Commit ac2cba2901779f66bbfab298faa15c956e91393a # Date 2014-03-10 14:40:50 +0100 # Author Julien Grall # Committer Jan Beulich xmalloc: handle correctly page allocation when align > size When align is superior to size, we need to retrieve the order from align during multiple page allocation. I guess it was the goal of the commit fb034f42 "xmalloc: make close-to-PAGE_SIZE allocations more efficient". Signed-off-by: Julien Grall Acked-by: Keir Fraser --- a/xen/common/xmalloc_tlsf.c +++ b/xen/common/xmalloc_tlsf.c @@ -527,11 +527,10 @@ static void xmalloc_pool_put(void *p) static void *xmalloc_whole_pages(unsigned long size, unsigned long align) { - unsigned int i, order = get_order_from_bytes(size); + unsigned int i, order; void *res, *p; - if ( align > size ) - get_order_from_bytes(align); + order = get_order_from_bytes(max(align, size)); res = alloc_xenheap_pages(order, 0); if ( res == NULL )