summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mm/memremap.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/mm/memremap.c b/mm/memremap.c
index b0ce0d8254bd..a2d4bb88f64b 100644
--- a/mm/memremap.c
+++ b/mm/memremap.c
@@ -275,6 +275,9 @@ void *memremap_pages(struct dev_pagemap *pgmap, int nid)
if (WARN_ONCE(!nr_range, "nr_range must be specified\n"))
return ERR_PTR(-EINVAL);
+ if (WARN_ONCE(pgmap->vmemmap_shift > MAX_FOLIO_ORDER,
+ "requested folio size unsupported\n"))
+ return ERR_PTR(-EINVAL);
switch (pgmap->type) {
case MEMORY_DEVICE_PRIVATE: