Re: [PATCH v2 4/5] arm64: introduce pfn_valid_region()

From: kbuild test robot
Date: Sun Mar 25 2018 - 10:16:45 EST


Hi Jia,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on mmotm/master]
[cannot apply to v4.16-rc6]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url: https://github.com/0day-ci/linux/commits/Jia-He/optimize-memblock_next_valid_pfn-and-early_pfn_valid/20180325-175026
base: git://git.cmpxchg.org/linux-mmotm.git master
config: arm64-defconfig (attached as .config)
compiler: aarch64-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=arm64

All warnings (new ones prefixed by >>):

arch/arm64/mm/init.c: In function 'pfn_valid_region':
>> arch/arm64/mm/init.c:304:35: warning: self-comparison always evaluates to false [-Wtautological-compare]
if (pfn >= start_pfn && end_pfn < end_pfn)
^

vim +304 arch/arm64/mm/init.c

293
294 int pfn_valid_region(unsigned long pfn, int *last_idx)
295 {
296 unsigned long start_pfn, end_pfn;
297 struct memblock_type *type = &memblock.memory;
298
299 if (*last_idx != -1) {
300 start_pfn = PFN_DOWN(type->regions[*last_idx].base);
301 end_pfn= PFN_DOWN(type->regions[*last_idx].base +
302 type->regions[*last_idx].size);
303
> 304 if (pfn >= start_pfn && end_pfn < end_pfn)
305 return !memblock_is_nomap(
306 &memblock.memory.regions[*last_idx]);
307 }
308
309 *last_idx = memblock_search_pfn_regions(pfn);
310 if (*last_idx == -1)
311 return false;
312
313 return !memblock_is_nomap(&memblock.memory.regions[*last_idx]);
314 }
315 EXPORT_SYMBOL(pfn_valid_region);
316 #endif /*CONFIG_HAVE_ARCH_PFN_VALID*/
317

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: application/gzip