diff --git a/mm/migrate.c b/mm/migrate.c index b4d972d80b10..5d7d39b1c069 100644 --- a/mm/migrate.c +++ b/mm/migrate.c @@ -2522,6 +2522,14 @@ static int numamigrate_isolate_page(pg_data_t *pgdat, struct page *page) if (managed_zone(pgdat->node_zones + z)) break; } + + /* + * If there are no managed zones, it should not proceed + * further. + */ + if (z < 0) + return 0; + wakeup_kswapd(pgdat->node_zones + z, 0, order, ZONE_MOVABLE); return 0; }