diff --git a/mm/page_alloc.c b/mm/page_alloc.c index f320ee2bd34a..ec3333a1f7fe 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -9481,6 +9481,7 @@ static void break_down_buddy_pages(struct zone *zone, struct page *page, next_page = page; current_buddy = page + size; } + page = next_page; if (set_page_guard(zone, current_buddy, high, migratetype)) continue; @@ -9488,7 +9489,6 @@ static void break_down_buddy_pages(struct zone *zone, struct page *page, if (current_buddy != target) { add_to_free_list(current_buddy, zone, high, migratetype); set_buddy_order(current_buddy, high); - page = next_page; } } }