]> git.itanic.dy.fi Git - linux-stable/commitdiff
mips: mm: add slab availability checking in ioremap_prot
authorSerge Semin <fancer.lancer@gmail.com>
Sat, 2 Dec 2023 11:14:22 +0000 (14:14 +0300)
committerThomas Bogendoerfer <tsbogend@alpha.franken.de>
Thu, 21 Dec 2023 14:32:46 +0000 (15:32 +0100)
Recent commit a5f616483110 ("mm/ioremap: add slab availability checking in
ioremap_prot") added the slab availability check to the generic
ioremap_prot() implementation. It is reasonable to be done for the
MIPS32-specific method too since it also relies on the
get_vm_area_caller() function (by means of get_vm_area()) which requires
the slab allocator being up and running before being called.

Signed-off-by: Serge Semin <fancer.lancer@gmail.com>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
arch/mips/mm/ioremap.c

index b6dad2fd5575d7dbfffa201ec5187ab065423108..d8243d61ef32529da9276cd887900bfb5bd130e6 100644 (file)
@@ -72,6 +72,10 @@ void __iomem *ioremap_prot(phys_addr_t phys_addr, unsigned long size,
            flags == _CACHE_UNCACHED)
                return (void __iomem *) CKSEG1ADDR(phys_addr);
 
+       /* Early remaps should use the unmapped regions til' VM is available */
+       if (WARN_ON_ONCE(!slab_is_available()))
+               return NULL;
+
        /*
         * Don't allow anybody to remap RAM that may be allocated by the page
         * allocator, since that could lead to races & data clobbering.