Re: [PATCH 1/1] arm/arm64: add support for folded p4d page tables

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Mike,

I love your patch! Yet something to improve:

[auto build test ERROR on arm/for-next]
[also build test ERROR on arm64/for-next/core kvmarm/next v5.5-rc4 next-20191220]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    https://github.com/0day-ci/linux/commits/Mike-Rapoport/arm-arm64-add-support-for-folded-p4d-page-tables/20191230-172112
base:   git://git.armlinux.org.uk/~rmk/linux-arm.git for-next
config: arm64-randconfig-a001-20191229 (attached as .config)
compiler: aarch64-linux-gcc (GCC) 7.5.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
        GCC_VERSION=7.5.0 make.cross ARCH=arm64 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@xxxxxxxxx>

All error/warnings (new ones prefixed by >>):

   arch/arm64/mm/dump.c: In function 'walk_p4d':
>> arch/arm64/mm/dump.c:358:24: error: implicit declaration of function 'p4d_sect'; did you mean 'pud_sect'? [-Werror=implicit-function-declaration]
      if (p4d_none(p4d) || p4d_sect(p4d)) {
                           ^~~~~~~~
                           pud_sect
   cc1: some warnings being treated as errors
--
   arch/arm64/mm/kasan_init.c: In function 'kasan_p4d_offset':
>> arch/arm64/mm/kasan_init.c:112:17: error: implicit declaration of function 'p4d_offset_kimg'; did you mean 'pmd_offset_kimg'? [-Werror=implicit-function-declaration]
     return early ? p4d_offset_kimg(pgdp, addr) : p4d_offset(pgdp, addr);
                    ^~~~~~~~~~~~~~~
                    pmd_offset_kimg
>> arch/arm64/mm/kasan_init.c:112:45: warning: pointer/integer type mismatch in conditional expression
     return early ? p4d_offset_kimg(pgdp, addr) : p4d_offset(pgdp, addr);
                                                ^
   arch/arm64/mm/kasan_init.c: In function 'kasan_p4d_populate':
>> arch/arm64/mm/kasan_init.c:164:22: error: passing argument 1 of 'kasan_pmd_populate' from incompatible pointer type [-Werror=incompatible-pointer-types]
      kasan_pmd_populate(p4dp, addr, next, node, early);
                         ^~~~
   arch/arm64/mm/kasan_init.c:132:20: note: expected 'pud_t * {aka struct <anonymous> *}' but argument is of type 'p4d_t * {aka struct <anonymous> *}'
    static void __init kasan_pmd_populate(pud_t *pudp, unsigned long addr,
                       ^~~~~~~~~~~~~~~~~~
   At top level:
   arch/arm64/mm/kasan_init.c:144:20: warning: 'kasan_pud_populate' defined but not used [-Wunused-function]
    static void __init kasan_pud_populate(p4d_t *p4dp, unsigned long addr,
                       ^~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors

vim +358 arch/arm64/mm/dump.c

   347	
   348	static void walk_p4d(struct pg_state *st, pgd_t *pgdp, unsigned long start,
   349			     unsigned long end)
   350	{
   351		unsigned long next, addr = start;
   352		p4d_t *p4dp = p4d_offset(pgdp, start);
   353	
   354		do {
   355			p4d_t p4d = READ_ONCE(*p4dp);
   356			next = p4d_addr_end(addr, end);
   357	
 > 358			if (p4d_none(p4d) || p4d_sect(p4d)) {
   359				note_page(st, addr, 2, p4d_val(p4d));
   360			} else {
   361				BUG_ON(p4d_bad(p4d));
   362				walk_pud(st, p4dp, addr, next);
   363			}
   364		} while (p4dp++, addr = next, addr != end);
   365	}
   366	

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

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux