mm/ioremap: add slab availability checking in ioremap_prot
[linux-2.6-microblaze.git] / mm / ioremap.c
index 9f34a8f..86b82ec 100644 (file)
@@ -18,6 +18,10 @@ void __iomem *generic_ioremap_prot(phys_addr_t phys_addr, size_t size,
        phys_addr_t last_addr;
        struct vm_struct *area;
 
+       /* An early platform driver might end up here */
+       if (WARN_ON_ONCE(!slab_is_available()))
+               return NULL;
+
        /* Disallow wrap-around or zero size */
        last_addr = phys_addr + size - 1;
        if (!size || last_addr < phys_addr)