#define MMF_HAS_UPROBES                19      /* has uprobes */
 #define MMF_RECALC_UPROBES     20      /* MMF_HAS_UPROBES can be wrong */
 #define MMF_OOM_REAPED         21      /* mm has been already reaped */
-#define MMF_OOM_NOT_REAPABLE   22      /* mm couldn't be reaped */
 
 #define MMF_INIT_MASK          (MMF_DUMPABLE_MASK | MMF_DUMP_FILTER_MASK)
 
 
        if (attempts <= MAX_OOM_REAP_RETRIES)
                goto done;
 
+       /* Ignore this mm because somebody can't call up_write(mmap_sem). */
+       set_bit(MMF_OOM_REAPED, &mm->flags);
+
        pr_info("oom_reaper: unable to reap pid:%d (%s)\n",
                task_pid_nr(tsk), tsk->comm);
-
-       /*
-        * If we've already tried to reap this task in the past and
-        * failed it probably doesn't make much sense to try yet again
-        * so hide the mm from the oom killer so that it can move on
-        * to another task with a different mm struct.
-        */
-       if (test_and_set_bit(MMF_OOM_NOT_REAPABLE, &mm->flags)) {
-               pr_info("oom_reaper: giving up pid:%d (%s)\n",
-                       task_pid_nr(tsk), tsk->comm);
-               set_bit(MMF_OOM_REAPED, &mm->flags);
-       }
        debug_show_all_locks();
 
 done: