Re: [PATCH] arch : arm : add a criteria for pfn_valid
From: Matthew Wilcox
Date: Fri Aug 16 2019 - 23:35:38 EST
On Sat, Aug 17, 2019 at 11:00:13AM +0800, Zhaoyang Huang wrote:
> #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));
> }
This is a really awkward way to use the ternary operator. It's easier to
read if you just:
+ if (pfn > max_pfn)
+ return 0;
return memblock_is_map_memory(__pfn_to_phys(pfn));
(if you really wanted to be clever ... er, obscure, you'd've written:
return (pfn <= max_pfn) && memblock_is_map_memory(__pfn_to_phys(pfn));
... but don't do that)
Also, why is this diverged between arm and arm64?