diff --git a/mm/vmscan.c b/mm/vmscan.c index 518540a4a2a6..2e97baa3b2aa 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -1172,11 +1172,12 @@ static unsigned long balance_pgdat(pg_data_t *pgdat, int order) if (!zone_watermark_ok(zone, order, zone->pages_high, 0, 0)) { end_zone = i; - goto scan; + break; } } - goto out; -scan: + if (i < 0) + goto out; + for (i = 0; i <= end_zone; i++) { struct zone *zone = pgdat->node_zones + i;