Re: [PATCH V5 2/4] LoongArch: Add sparse memory vmemmap support

From: kernel test robot
Date: Sun Jul 24 2022 - 00:38:45 EST


Hi Huacai,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on soc/for-next]
[also build test ERROR on kvm/queue arm64/for-next/core linus/master v5.19-rc7 next-20220722]
[cannot apply to akpm-mm/mm-everything tip/x86/mm]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Huacai-Chen/mm-sparse-vmemmap-Generalise-helpers-and-enable-for-LoongArch/20220721-211006
base: https://git.kernel.org/pub/scm/linux/kernel/git/soc/soc.git for-next
config: nios2-allnoconfig (https://download.01.org/0day-ci/archive/20220724/202207241246.ZV8cRK1g-lkp@xxxxxxxxx/config)
compiler: nios2-linux-gcc (GCC) 12.1.0
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
# https://github.com/intel-lab-lkp/linux/commit/46a065b827f834b046cffafc7fa165b6fadd9c5c
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Huacai-Chen/mm-sparse-vmemmap-Generalise-helpers-and-enable-for-LoongArch/20220721-211006
git checkout 46a065b827f834b046cffafc7fa165b6fadd9c5c
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=nios2 SHELL=/bin/bash

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

All errors (new ones prefixed by >>):

In file included from kernel/fork.c:102:
>> arch/nios2/include/asm/pgalloc.h:32:13: error: conflicting types for 'pmd_init'; have 'void(long unsigned int, long unsigned int)'
32 | extern void pmd_init(unsigned long page, unsigned long pagetable);
| ^~~~~~~~
In file included from include/linux/pid_namespace.h:7,
from include/linux/ptrace.h:10,
from arch/nios2/include/uapi/asm/elf.h:24,
from arch/nios2/include/asm/elf.h:9,
from include/linux/elf.h:6,
from include/linux/module.h:19,
from kernel/fork.c:30:
include/linux/mm.h:3206:6: note: previous declaration of 'pmd_init' with type 'void(void *)'
3206 | void pmd_init(void *addr);
| ^~~~~~~~
kernel/fork.c:163:13: warning: no previous prototype for 'arch_release_task_struct' [-Wmissing-prototypes]
163 | void __weak arch_release_task_struct(struct task_struct *tsk)
| ^~~~~~~~~~~~~~~~~~~~~~~~
kernel/fork.c:852:20: warning: no previous prototype for 'arch_task_cache_init' [-Wmissing-prototypes]
852 | void __init __weak arch_task_cache_init(void) { }
| ^~~~~~~~~~~~~~~~~~~~
kernel/fork.c:947:12: warning: no previous prototype for 'arch_dup_task_struct' [-Wmissing-prototypes]
947 | int __weak arch_dup_task_struct(struct task_struct *dst,
| ^~~~~~~~~~~~~~~~~~~~
--
In file included from mm/filemap.c:45:
>> arch/nios2/include/asm/pgalloc.h:32:13: error: conflicting types for 'pmd_init'; have 'void(long unsigned int, long unsigned int)'
32 | extern void pmd_init(unsigned long page, unsigned long pagetable);
| ^~~~~~~~
In file included from include/linux/dax.h:6,
from mm/filemap.c:15:
include/linux/mm.h:3206:6: note: previous declaration of 'pmd_init' with type 'void(void *)'
3206 | void pmd_init(void *addr);
| ^~~~~~~~


vim +32 arch/nios2/include/asm/pgalloc.h

cbd15b3fadc27e Ley Foon Tan 2014-11-06 28
cbd15b3fadc27e Ley Foon Tan 2014-11-06 29 /*
cbd15b3fadc27e Ley Foon Tan 2014-11-06 30 * Initialize a new pmd table with invalid pointers.
cbd15b3fadc27e Ley Foon Tan 2014-11-06 31 */
cbd15b3fadc27e Ley Foon Tan 2014-11-06 @32 extern void pmd_init(unsigned long page, unsigned long pagetable);
cbd15b3fadc27e Ley Foon Tan 2014-11-06 33

--
0-DAY CI Kernel Test Service
https://01.org/lkp