if (page)
                goto out;
 
-       if (!(gfp_mask & __GFP_NOFAIL)) {
-               /* Coredumps can quickly deplete all memory reserves */
-               if (current->flags & PF_DUMPCORE)
-                       goto out;
-               /* The OOM killer will not help higher order allocs */
-               if (order > PAGE_ALLOC_COSTLY_ORDER)
-                       goto out;
-               /* The OOM killer does not needlessly kill tasks for lowmem */
-               if (ac->high_zoneidx < ZONE_NORMAL)
-                       goto out;
-               if (pm_suspended_storage())
-                       goto out;
-               /*
-                * XXX: GFP_NOFS allocations should rather fail than rely on
-                * other request to make a forward progress.
-                * We are in an unfortunate situation where out_of_memory cannot
-                * do much for this context but let's try it to at least get
-                * access to memory reserved if the current task is killed (see
-                * out_of_memory). Once filesystems are ready to handle allocation
-                * failures more gracefully we should just bail out here.
-                */
+       /* Coredumps can quickly deplete all memory reserves */
+       if (current->flags & PF_DUMPCORE)
+               goto out;
+       /* The OOM killer will not help higher order allocs */
+       if (order > PAGE_ALLOC_COSTLY_ORDER)
+               goto out;
+       /* The OOM killer does not needlessly kill tasks for lowmem */
+       if (ac->high_zoneidx < ZONE_NORMAL)
+               goto out;
+       if (pm_suspended_storage())
+               goto out;
+       /*
+        * XXX: GFP_NOFS allocations should rather fail than rely on
+        * other request to make a forward progress.
+        * We are in an unfortunate situation where out_of_memory cannot
+        * do much for this context but let's try it to at least get
+        * access to memory reserved if the current task is killed (see
+        * out_of_memory). Once filesystems are ready to handle allocation
+        * failures more gracefully we should just bail out here.
+        */
+
+       /* The OOM killer may not free memory on a specific node */
+       if (gfp_mask & __GFP_THISNODE)
+               goto out;
 
-               /* The OOM killer may not free memory on a specific node */
-               if (gfp_mask & __GFP_THISNODE)
-                       goto out;
-       }
        /* Exhausted what can be done so it's blamo time */
        if (out_of_memory(&oc) || WARN_ON_ONCE(gfp_mask & __GFP_NOFAIL)) {
                *did_some_progress = 1;