RE: [External] Re: [PATCH 1/3] nvdimm/pmem: check the validity of the pointer pfn
From: Huaisheng HS1 Ye
Date: Wed Jul 04 2018 - 11:35:37 EST
> From: Dan Williams [mailto:dan.j.williams@xxxxxxxxx]
> Sent: Wednesday, July 04, 2018 10:40 PM
> 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
Yes, you are right.
Cheers,
Huaisheng Ye