diff options
Diffstat (limited to 'mm/slab.c')
-rw-r--r-- | mm/slab.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -3281,7 +3281,7 @@ retry: | |||
3281 | flags | GFP_THISNODE, nid); | 3281 | flags | GFP_THISNODE, nid); |
3282 | } | 3282 | } |
3283 | 3283 | ||
3284 | if (!obj) { | 3284 | if (!obj && !(flags & __GFP_NO_GROW)) { |
3285 | /* | 3285 | /* |
3286 | * This allocation will be performed within the constraints | 3286 | * This allocation will be performed within the constraints |
3287 | * of the current cpuset / memory policy requirements. | 3287 | * of the current cpuset / memory policy requirements. |
@@ -3310,7 +3310,7 @@ retry: | |||
3310 | */ | 3310 | */ |
3311 | goto retry; | 3311 | goto retry; |
3312 | } else { | 3312 | } else { |
3313 | kmem_freepages(cache, obj); | 3313 | /* cache_grow already freed obj */ |
3314 | obj = NULL; | 3314 | obj = NULL; |
3315 | } | 3315 | } |
3316 | } | 3316 | } |