[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200206231629.14151-3-richardw.yang@linux.intel.com>
Date: Fri, 7 Feb 2020 07:16:28 +0800
From: Wei Yang <richardw.yang@...ux.intel.com>
To: akpm@...ux-foundation.org, osalvador@...e.de,
dan.j.williams@...el.com
Cc: linux-mm@...ck.org, linux-kernel@...r.kernel.org, bhe@...hat.com,
david@...hat.com, Wei Yang <richardw.yang@...ux.intel.com>
Subject: [PATCH 2/3] mm/sparsemem: get physical address to page struct instead of virtual address to pfn
memmap should be the physical address to page struct instead of virtual
address to pfn.
Since we call this only for SPARSEMEM_VMEMMAP, pfn_to_page() is valid at
this point.
Fixes: ba72b4c8cf60 ("mm/sparsemem: support sub-section hotplug")
Signed-off-by: Wei Yang <richardw.yang@...ux.intel.com>
CC: Dan Williams <dan.j.williams@...el.com>
---
mm/sparse.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mm/sparse.c b/mm/sparse.c
index b5da121bdd6e..56816f653588 100644
--- a/mm/sparse.c
+++ b/mm/sparse.c
@@ -888,7 +888,7 @@ int __meminit sparse_add_section(int nid, unsigned long start_pfn,
/* Align memmap to section boundary in the subsection case */
if (IS_ENABLED(CONFIG_SPARSEMEM_VMEMMAP) &&
section_nr_to_pfn(section_nr) != start_pfn)
- memmap = pfn_to_kaddr(section_nr_to_pfn(section_nr));
+ memmap = pfn_to_page(section_nr_to_pfn(section_nr));
sparse_init_one_section(ms, section_nr, memmap, ms->usage, 0);
return 0;
--
2.17.1
Powered by blists - more mailing lists