Subject: Re: [PATCH] net: 8021q: vlan: reduce noise in driver initialization

From: kernel test robot <[email-masked]>
Date: Tue, 8 Dec 2020 20:50:29 +0800

Hi "Enrico,

I love your patch! Yet something to improve:

[auto build test ERROR on linux/master]
[also build test ERROR on net-next/master net/master linus/master v5.10-rc7 next-20201207]
[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]

url:    https://github.com/0day-ci/linux/commits/Enrico-Weigelt-metux-IT-consult/net-8021q-vlan-reduce-noise-in-driver-initialization/20201208-165821
base:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 09162bc32c880a791c6c0668ce0745cf7958f576
config: i386-randconfig-s001-20201208 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.3-179-ga00755aa-dirty
        # https://github.com/0day-ci/linux/commit/7c73ca17c3872132d7bd1b9407a26dd5ed916e2c
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Enrico-Weigelt-metux-IT-consult/net-8021q-vlan-reduce-noise-in-driver-initialization/20201208-165821
        git checkout 7c73ca17c3872132d7bd1b9407a26dd5ed916e2c
        # save the attached .config to linux build tree
        make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=i386 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email-masked]>

All errors (new ones prefixed by >>):

   ld: net/8021q/vlan_dev.o: in function `strlcpy':
>> include/linux/string.h:346: undefined reference to `vlan_fullname'
>> ld: include/linux/string.h:346: undefined reference to `vlan_version'

vim +346 include/linux/string.h

6974f0c4555e28 Daniel Micay  2017-07-12  337  
6974f0c4555e28 Daniel Micay  2017-07-12  338  /* defined after fortified strlen to reuse it */
6974f0c4555e28 Daniel Micay  2017-07-12  339  extern size_t __real_strlcpy(char *, const char *, size_t) __RENAME(strlcpy);
6974f0c4555e28 Daniel Micay  2017-07-12  340  __FORTIFY_INLINE size_t strlcpy(char *p, const char *q, size_t size)
6974f0c4555e28 Daniel Micay  2017-07-12  341  {
6974f0c4555e28 Daniel Micay  2017-07-12  342  	size_t ret;
6974f0c4555e28 Daniel Micay  2017-07-12  343  	size_t p_size = __builtin_object_size(p, 0);
6974f0c4555e28 Daniel Micay  2017-07-12  344  	size_t q_size = __builtin_object_size(q, 0);
6974f0c4555e28 Daniel Micay  2017-07-12  345  	if (p_size == (size_t)-1 && q_size == (size_t)-1)
6974f0c4555e28 Daniel Micay  2017-07-12 @346  		return __real_strlcpy(p, q, size);
6974f0c4555e28 Daniel Micay  2017-07-12  347  	ret = strlen(q);
6974f0c4555e28 Daniel Micay  2017-07-12  348  	if (size) {
6974f0c4555e28 Daniel Micay  2017-07-12  349  		size_t len = (ret >= size) ? size - 1 : ret;
6974f0c4555e28 Daniel Micay  2017-07-12  350  		if (__builtin_constant_p(len) && len >= p_size)
6974f0c4555e28 Daniel Micay  2017-07-12  351  			__write_overflow();
6974f0c4555e28 Daniel Micay  2017-07-12  352  		if (len >= p_size)
6974f0c4555e28 Daniel Micay  2017-07-12  353  			fortify_panic(__func__);
47227d27e2fcb0 Daniel Axtens 2020-06-03  354  		__underlying_memcpy(p, q, len);
6974f0c4555e28 Daniel Micay  2017-07-12  355  		p[len] = '\0';
6974f0c4555e28 Daniel Micay  2017-07-12  356  	}
6974f0c4555e28 Daniel Micay  2017-07-12  357  	return ret;
6974f0c4555e28 Daniel Micay  2017-07-12  358  }
6974f0c4555e28 Daniel Micay  2017-07-12  359  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email-masked]