This should enable us to catch if we are initializing the namespace with a wrong
size.

Signed-off-by: Aneesh Kumar K.V <aneesh.ku...@linux.ibm.com>
---
 drivers/nvdimm/namespace_devs.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/drivers/nvdimm/namespace_devs.c b/drivers/nvdimm/namespace_devs.c
index 83c70631a86f..9f2dc20bcc73 100644
--- a/drivers/nvdimm/namespace_devs.c
+++ b/drivers/nvdimm/namespace_devs.c
@@ -956,6 +956,18 @@ static void nd_namespace_pmem_set_resource(struct 
nd_region *nd_region,
  out:
        res->start = nd_region->ndr_start + offset;
        res->end = res->start + size - 1;
+#ifdef CONFIG_DEBUG_VM
+       if (size) {
+               unsigned long map_size;
+
+               map_size = 
arch_validate_namespace_size(nd_region->ndr_mappings, size);
+               WARN_ON(map_size);
+
+               map_size = arch_validate_namespace_size(1, res->start);
+               WARN_ON(map_size);
+
+       }
+#endif
 }
 
 static bool uuid_not_set(const u8 *uuid, struct device *dev, const char *where)
-- 
2.21.0

Reply via email to