Hi David, [auto build test WARNING on net-next/master]
url: https://github.com/0day-ci/linux/commits/David-Ahern/net-mpls-Allow-users-to-configure-more-labels-per-route/20170331-080314 config: x86_64-randconfig-ne0-03310806 (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 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/linux/skbuff.h:17:0, from net/mpls/af_mpls.c:2: net/mpls/af_mpls.c: In function 'mpls_rtm_newroute': >> include/linux/kernel.h:766:21: warning: 'n_labels' may be used uninitialized >> in this function [-Wmaybe-uninitialized] max1 > max2 ? max1 : max2; }) ^ net/mpls/af_mpls.c:774:6: note: 'n_labels' was declared here u8 n_labels; ^~~~~~~~ -- In file included from include/linux/skbuff.h:17:0, from net//mpls/af_mpls.c:2: net//mpls/af_mpls.c: In function 'mpls_rtm_newroute': >> include/linux/kernel.h:766:21: warning: 'n_labels' may be used uninitialized >> in this function [-Wmaybe-uninitialized] max1 > max2 ? max1 : max2; }) ^ net//mpls/af_mpls.c:774:6: note: 'n_labels' was declared here u8 n_labels; ^~~~~~~~ vim +/n_labels +766 include/linux/kernel.h ^1da177e Linus Torvalds 2005-04-16 750 * "unnecessary" pointer comparison. ^1da177e Linus Torvalds 2005-04-16 751 */ 589a9785 Johannes Berg 2016-10-07 752 #define __min(t1, t2, min1, min2, x, y) ({ \ 589a9785 Johannes Berg 2016-10-07 753 t1 min1 = (x); \ 589a9785 Johannes Berg 2016-10-07 754 t2 min2 = (y); \ 589a9785 Johannes Berg 2016-10-07 755 (void) (&min1 == &min2); \ 589a9785 Johannes Berg 2016-10-07 756 min1 < min2 ? min1 : min2; }) 589a9785 Johannes Berg 2016-10-07 757 #define min(x, y) \ 589a9785 Johannes Berg 2016-10-07 758 __min(typeof(x), typeof(y), \ 589a9785 Johannes Berg 2016-10-07 759 __UNIQUE_ID(min1_), __UNIQUE_ID(min2_), \ 589a9785 Johannes Berg 2016-10-07 760 x, y) 589a9785 Johannes Berg 2016-10-07 761 589a9785 Johannes Berg 2016-10-07 762 #define __max(t1, t2, max1, max2, x, y) ({ \ 589a9785 Johannes Berg 2016-10-07 763 t1 max1 = (x); \ 589a9785 Johannes Berg 2016-10-07 764 t2 max2 = (y); \ 589a9785 Johannes Berg 2016-10-07 765 (void) (&max1 == &max2); \ 589a9785 Johannes Berg 2016-10-07 @766 max1 > max2 ? max1 : max2; }) 589a9785 Johannes Berg 2016-10-07 767 #define max(x, y) \ 589a9785 Johannes Berg 2016-10-07 768 __max(typeof(x), typeof(y), \ 589a9785 Johannes Berg 2016-10-07 769 __UNIQUE_ID(max1_), __UNIQUE_ID(max2_), \ 589a9785 Johannes Berg 2016-10-07 770 x, y) bdf4bbaa Harvey Harrison 2008-04-30 771 2e1d06e1 Michal Nazarewicz 2014-10-09 772 #define min3(x, y, z) min((typeof(x))min(x, y), z) 2e1d06e1 Michal Nazarewicz 2014-10-09 773 #define max3(x, y, z) max((typeof(x))max(x, y), z) f27c85c5 Hagen Paul Pfeifer 2010-10-26 774 :::::: The code at line 766 was first introduced by commit :::::: 589a9785ee3a7cb85f1dedc3dad1c9754c691880 min/max: remove sparse warnings when they're nested :::::: TO: Johannes Berg <johannes.b...@intel.com> :::::: CC: Linus Torvalds <torva...@linux-foundation.org> --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
.config.gz
Description: application/gzip