From c2c3b5aa3526d7c3398cb526e89595bcf276300e Mon Sep 17 00:00:00 2001 From: Hugh Dickins Date: Fri, 5 Jan 2007 16:36:36 -0800 Subject: [PATCH] --- yaml --- r: 45251 b: refs/heads/master c: b6a60451813bad6a9f57cb159004c3b3e12a1cd3 h: refs/heads/master i: 45249: a42468eaeb2622a1d6dfdeb25435d26f3c83032e 45247: 547849a28897a09824bd27b7d688123f27f3a7e9 v: v3 --- [refs] | 2 +- trunk/mm/slab.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 657dcc85b75f..b6eab4a642d9 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: be6aab0e9fa6d3c6d75aa1e38ac972d8b4ee82b8 +refs/heads/master: b6a60451813bad6a9f57cb159004c3b3e12a1cd3 diff --git a/trunk/mm/slab.c b/trunk/mm/slab.c index 0d4e57431de4..c6100628a6ef 100644 --- a/trunk/mm/slab.c +++ b/trunk/mm/slab.c @@ -3281,7 +3281,7 @@ void *fallback_alloc(struct kmem_cache *cache, gfp_t flags) flags | GFP_THISNODE, nid); } - if (!obj) { + if (!obj && !(flags & __GFP_NO_GROW)) { /* * This allocation will be performed within the constraints * of the current cpuset / memory policy requirements. @@ -3310,7 +3310,7 @@ void *fallback_alloc(struct kmem_cache *cache, gfp_t flags) */ goto retry; } else { - kmem_freepages(cache, obj); + /* cache_grow already freed obj */ obj = NULL; } }