summaryrefslogtreecommitdiff
path: root/arch/mips
diff options
context:
space:
mode:
authorSerge Semin <fancer.lancer@gmail.com>2023-12-02 14:14:22 +0300
committerThomas Bogendoerfer <tsbogend@alpha.franken.de>2023-12-21 17:32:46 +0300
commite540b8c5da04c66ff610d3bf84a7566d9f6bffcf (patch)
tree0f47c20572222e3f7a61d26e266956cd3a340cf2 /arch/mips
parent1c0150229f6a658687c245dfc4dcfa3fae69df49 (diff)
downloadlinux-e540b8c5da04c66ff610d3bf84a7566d9f6bffcf.tar.xz
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 <fancer.lancer@gmail.com> Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Diffstat (limited to 'arch/mips')
-rw-r--r--arch/mips/mm/ioremap.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/mips/mm/ioremap.c b/arch/mips/mm/ioremap.c
index b6dad2fd5575..d8243d61ef32 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.