|
@@ -2308,6 +2308,10 @@ rebalance:
|
|
if ((gfp_mask & __GFP_FS) && !(gfp_mask & __GFP_NORETRY)) {
|
|
if ((gfp_mask & __GFP_FS) && !(gfp_mask & __GFP_NORETRY)) {
|
|
if (oom_killer_disabled)
|
|
if (oom_killer_disabled)
|
|
goto nopage;
|
|
goto nopage;
|
|
|
|
+ /* Coredumps can quickly deplete all memory reserves */
|
|
|
|
+ if ((current->flags & PF_DUMPCORE) &&
|
|
|
|
+ !(gfp_mask & __GFP_NOFAIL))
|
|
|
|
+ goto nopage;
|
|
page = __alloc_pages_may_oom(gfp_mask, order,
|
|
page = __alloc_pages_may_oom(gfp_mask, order,
|
|
zonelist, high_zoneidx,
|
|
zonelist, high_zoneidx,
|
|
nodemask, preferred_zone,
|
|
nodemask, preferred_zone,
|