dax: fix mapping size check
authorDan Williams <dan.j.williams@intel.com>
Sat, 3 Sep 2016 17:36:00 +0000 (10:36 -0700)
committerDan Williams <dan.j.williams@intel.com>
Sat, 3 Sep 2016 17:40:57 +0000 (10:40 -0700)
pgoff_to_phys() validates that both the starting address and the length
of the mapping against the resource list.  We need to check for a
mapping size of PMD_SIZE not PAGE_SIZE in the pmd fault path.

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
drivers/dax/dax.c

index 803f3953b341a42aa47adcc4f8405f5dfa501a06..29f600f2c447159e84b17bc43bdcd66ca8bbcc7b 100644 (file)
@@ -459,7 +459,7 @@ static int __dax_dev_pmd_fault(struct dax_dev *dax_dev,
        }
 
        pgoff = linear_page_index(vma, pmd_addr);
-       phys = pgoff_to_phys(dax_dev, pgoff, PAGE_SIZE);
+       phys = pgoff_to_phys(dax_dev, pgoff, PMD_SIZE);
        if (phys == -1) {
                dev_dbg(dev, "%s: phys_to_pgoff(%#lx) failed\n", __func__,
                                pgoff);