From 58df6cc07e520861b2aa742f69cfd4663030e87b Mon Sep 17 00:00:00 2001 From: Jianguo Wu Date: Fri, 22 Mar 2013 15:04:50 -0700 Subject: [PATCH] --- yaml --- r: 361675 b: refs/heads/master c: ca4b3f302c90de5e516296e581c31c80125cd24b h: refs/heads/master i: 361673: 6a6dfbcb6886c3c3a59a92610b1f324e70207de4 361671: 1de0edc1e6cb1d8ec2212f10af7395fa2b15e995 v: v3 --- [refs] | 2 +- trunk/mm/memory_hotplug.c | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index a6c59c5ee085..acc60ca3bceb 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 96e7d7a1e0fc7780b4c1981c787e42473aa91a95 +refs/heads/master: ca4b3f302c90de5e516296e581c31c80125cd24b diff --git a/trunk/mm/memory_hotplug.c b/trunk/mm/memory_hotplug.c index 9597eec8239d..ee3765760818 100644 --- a/trunk/mm/memory_hotplug.c +++ b/trunk/mm/memory_hotplug.c @@ -1779,7 +1779,11 @@ void try_offline_node(int nid) for (i = 0; i < MAX_NR_ZONES; i++) { struct zone *zone = pgdat->node_zones + i; - if (zone->wait_table) + /* + * wait_table may be allocated from boot memory, + * here only free if it's allocated by vmalloc. + */ + if (is_vmalloc_addr(zone->wait_table)) vfree(zone->wait_table); }