process_zones(): fix recovery code

Don't try to free memory which we didn't allocate.

Acked-by: Christoph Lameter <clameter@sgi.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Andrew Morton 2007-08-30 23:56:17 -07:00 committed by Linus Torvalds
parent 060d11b0b3
commit 6419168813

View file

@ -2345,6 +2345,8 @@ static int __cpuinit process_zones(int cpu)
return 0; return 0;
bad: bad:
for_each_zone(dzone) { for_each_zone(dzone) {
if (!populated_zone(dzone))
continue;
if (dzone == zone) if (dzone == zone)
break; break;
kfree(zone_pcp(dzone, cpu)); kfree(zone_pcp(dzone, cpu));