On Mon, 2021-03-15 at 04:35 +0800, kernel test robot wrote: > Hi Andreas, > > [FYI, it's a private test report for your RFC patch.] > [auto build test ERROR on net-next/master] > > url: > https://github.com/0day-ci/linux/commits/Andreas-Roeseler/add-support-for-RFC-8335-PROBE/20210315-005052 > base: > https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 6f > 1629093399303bf19d6fcd5144061d1e25ec23 > config: mips-allmodconfig (attached as .config) > compiler: mips-linux-gcc (GCC) 9.3.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/0day-ci/linux/commit/54d9928f1734e7b3511b945a2ce912b931a07776 > git remote add linux-review https://github.com/0day-ci/linux > git fetch --no-tags linux-review Andreas-Roeseler/add- > support-for-RFC-8335-PROBE/20210315-005052 > git checkout 54d9928f1734e7b3511b945a2ce912b931a07776 > # save the attached .config to linux build tree > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 > make.cross ARCH=mips > > If you fix the issue, kindly add following tag as appropriate > Reported-by: kernel test robot <l...@intel.com> > > All errors (new ones prefixed by >>): > > mips-linux-ld: net/ipv4/icmp.o: in function `icmp_echo': > > > icmp.c:(.text.icmp_echo+0x658): undefined reference to > > > `ipv6_dev_find' > > --- > 0-DAY CI Kernel Test Service, Intel Corporation > https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org
I'm still learning the ropes of kernel development and I was wondering if someone could help me figure out what is causing this error. The file compiles when compiling with allyesconfig or olddefconfig, but it cannot find the ipv6_dev_find() function when compiling with allmodconfig and returns the error seen above. I am including <include/net/addrconf.h> which declares ipv6_dev_find(), and the function is defined and exported using EXPORT_SYMBOL in <net/ipv6/addrconf.c>. I've tried declaring the function via extern in <include/net/icmp.h> and in <net/ipv4/icmp.c>, but neither have resolved the error and checkpatch.pl explicitly warns against using extern calls in .c files. Is there something that I'm not understanding about compiling kernel components modularly? How do I avoid this error?