tools/testing/nvdimm: fix allocation range for mock flush hint tables
authorDan Williams <dan.j.williams@intel.com>
Mon, 19 Sep 2016 20:49:48 +0000 (13:49 -0700)
committerDan Williams <dan.j.williams@intel.com>
Mon, 19 Sep 2016 20:49:48 +0000 (13:49 -0700)
Commit 480b6837aa57 "nvdimm: fix PHYS_PFN/PFN_PHYS mixup" identified
that we were passing an invalid address to devm_nvdimm_ioremap(). With
that fixed it exposed a bug in the memory reservation size for flush
hint tables.  Since we map a full page we need to mock a full page of
memory to back the flush hint table entries.

Cc: Oliver O'Halloran <oohall@gmail.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
tools/testing/nvdimm/test/nfit.c

index dd48f421844c7902773526d8c0845109ab9c5e55..f64c57bf1d4baace6f988a5fd0b95b894ce2fb49 100644 (file)
@@ -603,7 +603,8 @@ static int nfit_test0_alloc(struct nfit_test *t)
                        return -ENOMEM;
                sprintf(t->label[i], "label%d", i);
 
-               t->flush[i] = test_alloc(t, sizeof(u64) * NUM_HINTS,
+               t->flush[i] = test_alloc(t, max(PAGE_SIZE,
+                                       sizeof(u64) * NUM_HINTS),
                                &t->flush_dma[i]);
                if (!t->flush[i])
                        return -ENOMEM;