diff options
-rw-r--r-- | mm/page_alloc.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c index caea788628e4..c313afcc8e5a 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c | |||
@@ -2308,6 +2308,10 @@ rebalance: | |||
2308 | if ((gfp_mask & __GFP_FS) && !(gfp_mask & __GFP_NORETRY)) { | 2308 | if ((gfp_mask & __GFP_FS) && !(gfp_mask & __GFP_NORETRY)) { |
2309 | if (oom_killer_disabled) | 2309 | if (oom_killer_disabled) |
2310 | goto nopage; | 2310 | goto nopage; |
2311 | /* Coredumps can quickly deplete all memory reserves */ | ||
2312 | if ((current->flags & PF_DUMPCORE) && | ||
2313 | !(gfp_mask & __GFP_NOFAIL)) | ||
2314 | goto nopage; | ||
2311 | page = __alloc_pages_may_oom(gfp_mask, order, | 2315 | page = __alloc_pages_may_oom(gfp_mask, order, |
2312 | zonelist, high_zoneidx, | 2316 | zonelist, high_zoneidx, |
2313 | nodemask, preferred_zone, | 2317 | nodemask, preferred_zone, |