From: Serge Semin Date: Sat, 2 Dec 2023 11:14:22 +0000 (+0300) Subject: mips: mm: add slab availability checking in ioremap_prot X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=e540b8c5da04c66ff610d3bf84a7566d9f6bffcf;p=linux.git mips: mm: add slab availability checking in ioremap_prot 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 Signed-off-by: Thomas Bogendoerfer --- diff --git a/arch/mips/mm/ioremap.c b/arch/mips/mm/ioremap.c index b6dad2fd5575d..d8243d61ef325 100644 --- a/arch/mips/mm/ioremap.c +++ b/arch/mips/mm/ioremap.c @@ -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.