* allocation request, free them via vfree() if any.
         */
        if (area->nr_pages != nr_small_pages) {
-               /* vm_area_alloc_pages() can also fail due to a fatal signal */
-               if (!fatal_signal_pending(current))
+               /*
+                * vm_area_alloc_pages() can fail due to insufficient memory but
+                * also:-
+                *
+                * - a pending fatal signal
+                * - insufficient huge page-order pages
+                *
+                * Since we always retry allocations at order-0 in the huge page
+                * case a warning for either is spurious.
+                */
+               if (!fatal_signal_pending(current) && page_order == 0)
                        warn_alloc(gfp_mask, NULL,
-                               "vmalloc error: size %lu, page order %u, failed to allocate pages",
-                               area->nr_pages * PAGE_SIZE, page_order);
+                               "vmalloc error: size %lu, failed to allocate pages",
+                               area->nr_pages * PAGE_SIZE);
                goto fail;
        }