Re: [PATCH] mm/nvdimm: Use correct alignment when looking at first pfn from a region
From: Dan Williams <hidden>
Date: 2019-05-14 04:29:41
Also in:
linux-mm, nvdimm
From: Dan Williams <hidden>
Date: 2019-05-14 04:29:41
Also in:
linux-mm, nvdimm
On Mon, May 13, 2019 at 7:55 PM Aneesh Kumar K.V [off-list ref] wrote:
We already add the start_pad to the resource->start but fails to section align the start. This make sure with altmap we compute the right first pfn when start_pad is zero and we are doing an align down of start address. Signed-off-by: Aneesh Kumar K.V <redacted> --- kernel/memremap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)diff --git a/kernel/memremap.c b/kernel/memremap.c index a856cb5ff192..23d77b60e728 100644 --- a/kernel/memremap.c +++ b/kernel/memremap.c@@ -59,9 +59,9 @@ static unsigned long pfn_first(struct dev_pagemap *pgmap) { const struct resource *res = &pgmap->res; struct vmem_altmap *altmap = &pgmap->altmap; - unsigned long pfn; + unsigned long pfn = PHYS_PFN(res->start); - pfn = res->start >> PAGE_SHIFT; + pfn = SECTION_ALIGN_DOWN(pfn);
This does not seem right to me it breaks the assumptions of where the first expected valid pfn occurs in the passed in range.