Hi David, [auto build test WARNING on net-next/master] [also build test WARNING on next-20170817] [cannot apply to v4.13-rc5] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/David-Lamparter/bridge-learn-dst-metadata-in-FDB/20170820-001849 config: s390-allmodconfig (attached as .config) compiler: s390x-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705 reproduce: wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=s390 Note: it may well be a FALSE warning. FWIW you are at least aware of it now. http://gcc.gnu.org/wiki/Better_Uninitialized_Warnings All warnings (new ones prefixed by >>): In file included from include/uapi/linux/stddef.h:1:0, from include/linux/stddef.h:4, from include/uapi/linux/posix_types.h:4, from include/uapi/linux/types.h:13, from include/linux/types.h:5, from net/mpls/af_mpls.c:1: net/mpls/af_mpls.c: In function 'mpls_rt_xmit': >> include/linux/compiler.h:239:26: warning: 'out_dev' may be used uninitialized in this function [-Wmaybe-uninitialized] case 8: *(__u64 *)res = *(volatile __u64 *)p; break; \ ^ net/mpls/af_mpls.c:384:21: note: 'out_dev' was declared here struct net_device *out_dev; ^~~~~~~ -- In file included from include/uapi/linux/stddef.h:1:0, from include/linux/stddef.h:4, from include/uapi/linux/posix_types.h:4, from include/uapi/linux/types.h:13, from include/linux/types.h:5, from net//mpls/af_mpls.c:1: net//mpls/af_mpls.c: In function 'mpls_rt_xmit': >> include/linux/compiler.h:239:26: warning: 'out_dev' may be used uninitialized in this function [-Wmaybe-uninitialized] case 8: *(__u64 *)res = *(volatile __u64 *)p; break; \ ^ net//mpls/af_mpls.c:384:21: note: 'out_dev' was declared here struct net_device *out_dev; ^~~~~~~ vim +/out_dev +239 include/linux/compiler.h 230fa253 Christian Borntraeger 2014-11-25 232 d976441f Andrey Ryabinin 2015-10-19 233 #define __READ_ONCE_SIZE \ d976441f Andrey Ryabinin 2015-10-19 234 ({ \ d976441f Andrey Ryabinin 2015-10-19 235 switch (size) { \ d976441f Andrey Ryabinin 2015-10-19 236 case 1: *(__u8 *)res = *(volatile __u8 *)p; break; \ d976441f Andrey Ryabinin 2015-10-19 237 case 2: *(__u16 *)res = *(volatile __u16 *)p; break; \ d976441f Andrey Ryabinin 2015-10-19 238 case 4: *(__u32 *)res = *(volatile __u32 *)p; break; \ d976441f Andrey Ryabinin 2015-10-19 @239 case 8: *(__u64 *)res = *(volatile __u64 *)p; break; \ d976441f Andrey Ryabinin 2015-10-19 240 default: \ d976441f Andrey Ryabinin 2015-10-19 241 barrier(); \ d976441f Andrey Ryabinin 2015-10-19 242 __builtin_memcpy((void *)res, (const void *)p, size); \ d976441f Andrey Ryabinin 2015-10-19 243 barrier(); \ d976441f Andrey Ryabinin 2015-10-19 244 } \ d976441f Andrey Ryabinin 2015-10-19 245 }) d976441f Andrey Ryabinin 2015-10-19 246 :::::: The code at line 239 was first introduced by commit :::::: d976441f44bc5d48635d081d277aa76556ffbf8b compiler, atomics, kasan: Provide READ_ONCE_NOCHECK() :::::: TO: Andrey Ryabinin :::::: CC: Ingo Molnar --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation