summaryrefslogtreecommitdiff
path: root/drivers/dax
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2019-06-26 15:27:07 +0300
committerJason Gunthorpe <jgg@mellanox.com>2019-07-02 20:32:44 +0300
commit3ed2dcdf54d5bf1f9823b5faf1a702e7cee53982 (patch)
treef025d9105611d1c4d90d3265176e79a71d1b83a8 /drivers/dax
parent0092908d16c604b8207c2141ec64b0fa4473bb03 (diff)
downloadlinux-3ed2dcdf54d5bf1f9823b5faf1a702e7cee53982.tar.xz
memremap: validate the pagemap type passed to devm_memremap_pages
Most pgmap types are only supported when certain config options are enabled. Check for a type that is valid for the current configuration before setting up the pagemap. For this the usage of the 0 type for device dax gets replaced with an explicit MEMORY_DEVICE_DEVDAX type. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Ira Weiny <ira.weiny@intel.com> Reviewed-by: Dan Williams <dan.j.williams@intel.com> Tested-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Diffstat (limited to 'drivers/dax')
-rw-r--r--drivers/dax/device.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/dax/device.c b/drivers/dax/device.c
index 8465d12fecba..79014baa782d 100644
--- a/drivers/dax/device.c
+++ b/drivers/dax/device.c
@@ -468,6 +468,7 @@ int dev_dax_probe(struct device *dev)
dev_dax->pgmap.ref = &dev_dax->ref;
dev_dax->pgmap.kill = dev_dax_percpu_kill;
dev_dax->pgmap.cleanup = dev_dax_percpu_exit;
+ dev_dax->pgmap.type = MEMORY_DEVICE_DEVDAX;
addr = devm_memremap_pages(dev, &dev_dax->pgmap);
if (IS_ERR(addr))
return PTR_ERR(addr);