On Tue, Jul 3, 2018 at 11:40 PM, Huaisheng Ye <yehs2007@xxxxxxxx> wrote: > From: Huaisheng Ye <yehs1@xxxxxxxxxx> > > Some functions within fs/dax don't need to get gfn from direct_access. > Assigning NULL to gfn of dax_direct_access is more intuitive and simple > than offering a useless local variable. > > So direct_access needs to check validity of the pointer pfn For NULL > assignment. > > Signed-off-by: Huaisheng Ye <yehs1@xxxxxxxxxx> > --- > drivers/nvdimm/pmem.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/nvdimm/pmem.c b/drivers/nvdimm/pmem.c > index 9d71492..018f990 100644 > --- a/drivers/nvdimm/pmem.c > +++ b/drivers/nvdimm/pmem.c > @@ -233,7 +233,8 @@ __weak long __pmem_direct_access(struct pmem_device *pmem, pgoff_t pgoff, > PFN_PHYS(nr_pages)))) > return -EIO; > *kaddr = pmem->virt_addr + offset; > - *pfn = phys_to_pfn_t(pmem->phys_addr + offset, pmem->pfn_flags); > + if (pfn) > + *pfn = phys_to_pfn_t(pmem->phys_addr + offset, pmem->pfn_flags); > > /* > * If badblocks are present, limit known good range to the Looks good. You also need to update the unit test infrastructure version of this operation in: tools/testing/nvdimm/pmem-dax.c