Messages in this thread Patch in this message | | | From | Zhaoyang Huang <> | Subject | [PATCH] arch : arm : add a criteria for pfn_valid | Date | Sat, 17 Aug 2019 11:00:13 +0800 |
| |
From: Zhaoyang Huang <zhaoyang.huang@unisoc.com>
pfn_valid can be wrong while the MSB of physical address be trimed as pfn larger than the max_pfn.
Signed-off-by: Zhaoyang Huang <huangzhaoyang@gmail.com> --- arch/arm/mm/init.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/arm/mm/init.c b/arch/arm/mm/init.c index c2daabb..9c4d938 100644 --- a/arch/arm/mm/init.c +++ b/arch/arm/mm/init.c @@ -177,7 +177,8 @@ static void __init zone_sizes_init(unsigned long min, unsigned long max_low, #ifdef CONFIG_HAVE_ARCH_PFN_VALID int pfn_valid(unsigned long pfn) { - return memblock_is_map_memory(__pfn_to_phys(pfn)); + return (pfn > max_pfn) ? + false : memblock_is_map_memory(__pfn_to_phys(pfn)); } EXPORT_SYMBOL(pfn_valid); #endif -- 1.9.1
| |