{
struct page *page;
- if (order >= MAX_ORDER)
- order = MAX_ORDER - 1;
+ if (order > MAX_ORDER)
+ order = MAX_ORDER;
do {
page = alloc_pages_node(node, PERF_AUX_GFP, order);
size = sizeof(struct perf_buffer);
size += nr_pages * sizeof(void *);
- if (order_base_2(size) >= PAGE_SHIFT+MAX_ORDER)
+ if (order_base_2(size) > PAGE_SHIFT+MAX_ORDER)
goto fail;
node = (cpu == -1) ? cpu : cpu_to_node(cpu);