We always set 'key->private.mm' to 'current->mm', getting an extra
reference on 'current->mm' is quite pointless, because as long as the
task is blocked it isn't going to go away.
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
 static inline void compat_exit_robust_list(struct task_struct *curr) { }
 #endif
 
-static inline void futex_get_mm(union futex_key *key)
-{
-       mmgrab(key->private.mm);
-       /*
-        * Ensure futex_get_mm() implies a full barrier such that
-        * get_futex_key() implies a full barrier. This is relied upon
-        * as smp_mb(); (B), see the ordering comment above.
-        */
-       smp_mb__after_atomic();
-}
-
 /*
  * Reflects a new waiter being added to the waitqueue.
  */
                smp_mb();               /* explicit smp_mb(); (B) */
                break;
        case FUT_OFF_MMSHARED:
-               futex_get_mm(key); /* implies smp_mb(); (B) */
+               smp_mb();               /* explicit smp_mb(); (B) */
                break;
        default:
                /*
        case FUT_OFF_INODE:
                break;
        case FUT_OFF_MMSHARED:
-               mmdrop(key->private.mm);
                break;
        }
 }