Re: [linux-next:master 7236/7588] mm/util.c:999:2: error: statement requires expression of scalar type ('void' invalid)

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

 



On Mon, 29 Mar 2021 15:21:47 +0800 kernel test robot <lkp@xxxxxxxxx> wrote:

> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
> head:   931294922e65a23e1aad6398b9ae02df74044679
> commit: d1f75d5ddea82b2c610d194d253b4d4ecdaa6be3 [7236/7588] mm/util.c: reduce mem_dump_obj() object size
> config: riscv-randconfig-r034-20210328 (attached as .config)
> compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 821547cabb5819ed42245376a9afcd11cdee5ddd)
> reproduce (this is a W=1 build):
>         wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>         chmod +x ~/bin/make.cross
>         # install riscv cross compiling tool for clang build
>         # apt-get install binutils-riscv64-linux-gnu
>         # https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=d1f75d5ddea82b2c610d194d253b4d4ecdaa6be3
>         git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
>         git fetch --no-tags linux-next master
>         git checkout d1f75d5ddea82b2c610d194d253b4d4ecdaa6be3
>         # save the attached .config to linux build tree
>         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=riscv 
> 
> ...
>
>                                                      ~~~~~~~~~~ ^
>    In file included from mm/util.c:29:
>    mm/internal.h:454:8: error: use of undeclared identifier 'max_mapnr'
>                    if (!pfn_valid(pfn))
>                         ^
>    arch/riscv/include/asm/page.h:130:62: note: expanded from macro 'pfn_valid'
>            (((pfn) >= ARCH_PFN_OFFSET) && (((pfn) - ARCH_PFN_OFFSET) < max_mapnr))
>                                                                        ^
>    mm/util.c:999:6: error: use of undeclared identifier 'max_mapnr'
>            if (virt_addr_valid(object))
>                ^
>    arch/riscv/include/asm/page.h:137:43: note: expanded from macro 'virt_addr_valid'
>            (unsigned long)(_addr) >= PAGE_OFFSET && pfn_valid(virt_to_pfn(_addr)); \
>                                                     ^
>    arch/riscv/include/asm/page.h:130:62: note: expanded from macro 'pfn_valid'
>            (((pfn) >= ARCH_PFN_OFFSET) && (((pfn) - ARCH_PFN_OFFSET) < max_mapnr))
>                                                                        ^
> >> mm/util.c:999:2: error: statement requires expression of scalar type ('void' invalid)
>            if (virt_addr_valid(object))
>            ^   ~~~~~~~~~~~~~~~~~~~~~~~
>    7 warnings and 3 errors generated.

"mm/util.c: reduce mem_dump_obj() object size" can't be the cause of this.

It appears that riscv doesn't handle CONFIG_NEED_MULTIPLE_NODES=y.  Its
pfn_valid() (and hence virt_addr_valid()) implementations require that
max_mapnr be defined and implemented.  But with
CONFIG_NEED_MULTIPLE_NODES=y, that is not the case.

Probably riscv needs some Kconfig fix to disallow this config combination.




[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