Hi Jakub, I love your patch! Yet something to improve: [auto build test ERROR on bpf-next/master] url: https://github.com/0day-ci/linux/commits/Jakub-Kicinski/lighten-uapi-bpf-h-rebuilds/20211230-063309 base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master config: x86_64-randconfig-a002-20211230 (https://download.01.org/0day-ci/archive/20211230/202112300828.wqqaIPJ3-lkp@xxxxxxxxx/config) compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project cd284b7ac0615afc6e0f1a30da2777e361de27a3) 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/df4183ffb29b84cb3cfb6ac82457f151e6fa2a28 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Jakub-Kicinski/lighten-uapi-bpf-h-rebuilds/20211230-063309 git checkout df4183ffb29b84cb3cfb6ac82457f151e6fa2a28 # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash net/ipv6/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@xxxxxxxxx> All error/warnings (new ones prefixed by >>): In file included from net/ipv6/anycast.c:39: In file included from include/net/ip6_route.h:24: >> include/net/ip6_fib.h:548:2: error: type name requires a specifier or qualifier __bpf_md_ptr(struct bpf_iter_meta *, meta); ^ >> include/net/ip6_fib.h:548:22: warning: declaration of 'struct bpf_iter_meta' will not be visible outside of this function [-Wvisibility] __bpf_md_ptr(struct bpf_iter_meta *, meta); ^ >> include/net/ip6_fib.h:548:39: warning: declaration specifier missing, defaulting to 'int' __bpf_md_ptr(struct bpf_iter_meta *, meta); ^ int include/net/ip6_fib.h:549:2: error: type name requires a specifier or qualifier __bpf_md_ptr(struct fib6_info *, rt); ^ include/net/ip6_fib.h:549:35: warning: declaration specifier missing, defaulting to 'int' __bpf_md_ptr(struct fib6_info *, rt); ^ int >> include/net/ip6_fib.h:549:2: error: duplicate member '__bpf_md_ptr' __bpf_md_ptr(struct fib6_info *, rt); ^ include/net/ip6_fib.h:548:2: note: previous declaration is here __bpf_md_ptr(struct bpf_iter_meta *, meta); ^ 3 warnings and 3 errors generated. -- In file included from net/ipv6/route.c:48: >> include/net/ip6_fib.h:548:2: error: type name requires a specifier or qualifier __bpf_md_ptr(struct bpf_iter_meta *, meta); ^ >> include/net/ip6_fib.h:548:22: warning: declaration of 'struct bpf_iter_meta' will not be visible outside of this function [-Wvisibility] __bpf_md_ptr(struct bpf_iter_meta *, meta); ^ >> include/net/ip6_fib.h:548:39: warning: declaration specifier missing, defaulting to 'int' __bpf_md_ptr(struct bpf_iter_meta *, meta); ^ int include/net/ip6_fib.h:549:2: error: type name requires a specifier or qualifier __bpf_md_ptr(struct fib6_info *, rt); ^ include/net/ip6_fib.h:549:35: warning: declaration specifier missing, defaulting to 'int' __bpf_md_ptr(struct fib6_info *, rt); ^ int >> include/net/ip6_fib.h:549:2: error: duplicate member '__bpf_md_ptr' __bpf_md_ptr(struct fib6_info *, rt); ^ include/net/ip6_fib.h:548:2: note: previous declaration is here __bpf_md_ptr(struct bpf_iter_meta *, meta); ^ >> net/ipv6/route.c:6612:5: error: no member named 'rt' in 'bpf_iter__ipv6_route' { offsetof(struct bpf_iter__ipv6_route, rt), ^ ~~ include/linux/stddef.h:17:32: note: expanded from macro 'offsetof' #define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER) ^ ~~~~~~ include/linux/compiler_types.h:140:35: note: expanded from macro '__compiler_offsetof' #define __compiler_offsetof(a, b) __builtin_offsetof(a, b) ^ ~ 3 warnings and 4 errors generated. -- In file included from net/ipv6/netfilter/nf_reject_ipv6.c:8: In file included from include/net/ip6_route.h:24: >> include/net/ip6_fib.h:548:2: error: type name requires a specifier or qualifier __bpf_md_ptr(struct bpf_iter_meta *, meta); ^ >> include/net/ip6_fib.h:548:22: warning: declaration of 'struct bpf_iter_meta' will not be visible outside of this function [-Wvisibility] __bpf_md_ptr(struct bpf_iter_meta *, meta); ^ >> include/net/ip6_fib.h:548:39: warning: declaration specifier missing, defaulting to 'int' __bpf_md_ptr(struct bpf_iter_meta *, meta); ^ int include/net/ip6_fib.h:549:2: error: type name requires a specifier or qualifier __bpf_md_ptr(struct fib6_info *, rt); ^ include/net/ip6_fib.h:549:35: warning: declaration specifier missing, defaulting to 'int' __bpf_md_ptr(struct fib6_info *, rt); ^ int >> include/net/ip6_fib.h:549:2: error: duplicate member '__bpf_md_ptr' __bpf_md_ptr(struct fib6_info *, rt); ^ include/net/ip6_fib.h:548:2: note: previous declaration is here __bpf_md_ptr(struct bpf_iter_meta *, meta); ^ net/ipv6/netfilter/nf_reject_ipv6.c:287:18: warning: variable 'ip6h' set but not used [-Wunused-but-set-variable] struct ipv6hdr *ip6h; ^ 4 warnings and 3 errors generated. vim +548 include/net/ip6_fib.h 180ca444b985c4 Wei Wang 2017-10-06 537 8d1c802b2815ed David Ahern 2018-04-17 538 void fib6_metric_set(struct fib6_info *f6i, int metric, u32 val); 8d1c802b2815ed David Ahern 2018-04-17 539 static inline bool fib6_metric_locked(struct fib6_info *f6i, int metric) d4ead6b34b67fd David Ahern 2018-04-17 540 { d4ead6b34b67fd David Ahern 2018-04-17 541 return !!(f6i->fib6_metrics->metrics[RTAX_LOCK - 1] & (1 << metric)); d4ead6b34b67fd David Ahern 2018-04-17 542 } 907eea486888cf Amit Cohen 2021-02-01 543 void fib6_info_hw_flags_set(struct net *net, struct fib6_info *f6i, 0c5fcf9e249ee1 Amit Cohen 2021-02-07 544 bool offload, bool trap, bool offload_failed); 180ca444b985c4 Wei Wang 2017-10-06 545 3c32cc1bceba8a Yonghong Song 2020-05-13 546 #if IS_BUILTIN(CONFIG_IPV6) && defined(CONFIG_BPF_SYSCALL) 3c32cc1bceba8a Yonghong Song 2020-05-13 547 struct bpf_iter__ipv6_route { 3c32cc1bceba8a Yonghong Song 2020-05-13 @548 __bpf_md_ptr(struct bpf_iter_meta *, meta); 3c32cc1bceba8a Yonghong Song 2020-05-13 @549 __bpf_md_ptr(struct fib6_info *, rt); 3c32cc1bceba8a Yonghong Song 2020-05-13 550 }; 3c32cc1bceba8a Yonghong Song 2020-05-13 551 #endif 3c32cc1bceba8a Yonghong Song 2020-05-13 552 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx