/*
  * Check that we get the correct error when we run out of memory doing
- * allocations.  To ensure we run out of memory, just "forget" to preload.
+ * allocations.  In userspace, GFP_NOWAIT will always fail an allocation.
  * The first test is for not having a bitmap available, and the second test
  * is for not being able to allocate a level of the radix tree.
  */
 void ida_check_nomem(void)
 {
        DEFINE_IDA(ida);
-       int id, err;
+       int id;
 
-       err = ida_get_new_above(&ida, 256, &id);
-       assert(err == -EAGAIN);
-       err = ida_get_new_above(&ida, 1UL << 30, &id);
-       assert(err == -EAGAIN);
+       id = ida_alloc_min(&ida, 256, GFP_NOWAIT);
+       IDA_BUG_ON(&ida, id != -ENOMEM);
+       id = ida_alloc_min(&ida, 1UL << 30, GFP_NOWAIT);
+       IDA_BUG_ON(&ida, id != -ENOMEM);
+       IDA_BUG_ON(&ida, !ida_is_empty(&ida));
 }
 
 /*