Hi Kumar, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on bpf-next/master] url: https://github.com/intel-lab-lkp/linux/commits/Kumar-Kartikeya-Dwivedi/Local-kptrs-BPF-linked-lists/20221013-142606 base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master config: powerpc-allnoconfig compiler: powerpc-linux-gcc (GCC) 12.1.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/intel-lab-lkp/linux/commit/b8a8cce859fde905d2a8f2694d5aee0b5d3a77e2 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Kumar-Kartikeya-Dwivedi/Local-kptrs-BPF-linked-lists/20221013-142606 git checkout b8a8cce859fde905d2a8f2694d5aee0b5d3a77e2 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=powerpc SHELL=/bin/bash If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot All warnings (new ones prefixed by >>): In file included from include/linux/bpf.h:28, from kernel/fork.c:99: >> include/linux/btf.h:512:30: warning: 'struct bpf_verifier_log' declared inside parameter list will not be visible outside of this definition or declaration 512 | btf_get_prog_ctx_type(struct bpf_verifier_log *log, const struct btf *btf, | ^~~~~~~~~~~~~~~~ kernel/fork.c:163:13: warning: no previous prototype for 'arch_release_task_struct' [-Wmissing-prototypes] 163 | void __weak arch_release_task_struct(struct task_struct *tsk) | ^~~~~~~~~~~~~~~~~~~~~~~~ kernel/fork.c:852:20: warning: no previous prototype for 'arch_task_cache_init' [-Wmissing-prototypes] 852 | void __init __weak arch_task_cache_init(void) { } | ^~~~~~~~~~~~~~~~~~~~ -- In file included from include/linux/bpf.h:28, from include/linux/filter.h:9, from kernel/sysctl.c:35: >> include/linux/btf.h:512:30: warning: 'struct bpf_verifier_log' declared inside parameter list will not be visible outside of this definition or declaration 512 | btf_get_prog_ctx_type(struct bpf_verifier_log *log, const struct btf *btf, | ^~~~~~~~~~~~~~~~ -- In file included from include/linux/bpf.h:28, from include/linux/filter.h:9, from kernel/kallsyms.c:25: >> include/linux/btf.h:512:30: warning: 'struct bpf_verifier_log' declared inside parameter list will not be visible outside of this definition or declaration 512 | btf_get_prog_ctx_type(struct bpf_verifier_log *log, const struct btf *btf, | ^~~~~~~~~~~~~~~~ kernel/kallsyms.c:571:12: warning: no previous prototype for 'arch_get_kallsym' [-Wmissing-prototypes] 571 | int __weak arch_get_kallsym(unsigned int symnum, unsigned long *value, | ^~~~~~~~~~~~~~~~ vim +512 include/linux/btf.h 456 457 const struct btf_type *btf_type_by_id(const struct btf *btf, u32 type_id); 458 const char *btf_name_by_offset(const struct btf *btf, u32 offset); 459 struct btf *btf_parse_vmlinux(void); 460 struct btf *bpf_prog_get_target_btf(const struct bpf_prog *prog); 461 u32 *btf_kfunc_id_set_contains(const struct btf *btf, 462 enum bpf_prog_type prog_type, 463 u32 kfunc_btf_id); 464 int register_btf_kfunc_id_set(enum bpf_prog_type prog_type, 465 const struct btf_kfunc_id_set *s); 466 s32 btf_find_dtor_kfunc(struct btf *btf, u32 btf_id); 467 int register_btf_id_dtor_kfuncs(const struct btf_id_dtor_kfunc *dtors, u32 add_cnt, 468 struct module *owner); 469 struct btf_struct_meta *btf_find_struct_meta(const struct btf *btf, u32 btf_id); 470 const struct btf_member * 471 btf_get_prog_ctx_type(struct bpf_verifier_log *log, const struct btf *btf, 472 const struct btf_type *t, enum bpf_prog_type prog_type, 473 int arg); 474 bool btf_types_are_same(const struct btf *btf1, u32 id1, 475 const struct btf *btf2, u32 id2); 476 #else 477 static inline const struct btf_type *btf_type_by_id(const struct btf *btf, 478 u32 type_id) 479 { 480 return NULL; 481 } 482 static inline const char *btf_name_by_offset(const struct btf *btf, 483 u32 offset) 484 { 485 return NULL; 486 } 487 static inline u32 *btf_kfunc_id_set_contains(const struct btf *btf, 488 enum bpf_prog_type prog_type, 489 u32 kfunc_btf_id) 490 { 491 return NULL; 492 } 493 static inline int register_btf_kfunc_id_set(enum bpf_prog_type prog_type, 494 const struct btf_kfunc_id_set *s) 495 { 496 return 0; 497 } 498 static inline s32 btf_find_dtor_kfunc(struct btf *btf, u32 btf_id) 499 { 500 return -ENOENT; 501 } 502 static inline int register_btf_id_dtor_kfuncs(const struct btf_id_dtor_kfunc *dtors, 503 u32 add_cnt, struct module *owner) 504 { 505 return 0; 506 } 507 static inline struct btf_struct_meta *btf_find_struct_meta(const struct btf *btf, u32 btf_id) 508 { 509 return NULL; 510 } 511 static inline const struct btf_member * > 512 btf_get_prog_ctx_type(struct bpf_verifier_log *log, const struct btf *btf, 513 const struct btf_type *t, enum bpf_prog_type prog_type, 514 int arg) 515 { 516 return NULL; 517 } 518 static inline bool btf_types_are_same(const struct btf *btf1, u32 id1, 519 const struct btf *btf2, u32 id2) 520 { 521 return false; 522 } 523 #endif 524 -- 0-DAY CI Kernel Test Service https://01.org/lkp