diff --git a/[refs] b/[refs] index 4d114e5c46bb..780ae0c78c39 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 24fd425edd53ea580cad917e825c1f6715e9b939 +refs/heads/master: f3ef9ead31ae995251b420ac98398bd7545bf4e1 diff --git a/trunk/mm/page_alloc.c b/trunk/mm/page_alloc.c index 3b5358a0561f..8a52ba9fe693 100644 --- a/trunk/mm/page_alloc.c +++ b/trunk/mm/page_alloc.c @@ -1845,8 +1845,10 @@ static inline void free_zone_pagesets(int cpu) for_each_zone(zone) { struct per_cpu_pageset *pset = zone_pcp(zone, cpu); + /* Free per_cpu_pageset if it is slab allocated */ + if (pset != &boot_pageset[cpu]) + kfree(pset); zone_pcp(zone, cpu) = NULL; - kfree(pset); } }