Hi, kernel test robot noticed the following build errors:
[auto build test ERROR on powerpc/next] [also build test ERROR on powerpc/fixes linus/master v6.19-rc5 next-20260114] [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#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/adubey-linux-ibm-com/powerpc64-bpf-Move-tail_call_cnt-to-bottom-of-stack-frame/20260114-195044 base: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next patch link: https://lore.kernel.org/r/20260114114450.30405-4-adubey%40linux.ibm.com patch subject: [PATCH v2 3/6] powerpc64/bpf: Tailcall handling with trampolines config: powerpc-randconfig-002-20260114 (https://download.01.org/0day-ci/archive/20260115/[email protected]/config) compiler: powerpc-linux-gcc (GCC) 12.5.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260115/[email protected]/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <[email protected]> | Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/ All errors (new ones prefixed by >>): arch/powerpc/net/bpf_jit_comp.c: In function 'bpf_trampoline_setup_tail_call_info': >> arch/powerpc/net/bpf_jit_comp.c:644:43: error: 'BPF_PPC_TAILCALL' undeclared >> (first use in this function); did you mean 'BPF_TAIL_CALL'? 644 | int tailcallinfo_offset = BPF_PPC_TAILCALL; | ^~~~~~~~~~~~~~~~ | BPF_TAIL_CALL arch/powerpc/net/bpf_jit_comp.c:644:43: note: each undeclared identifier is reported only once for each function it appears in arch/powerpc/net/bpf_jit_comp.c: In function '__arch_prepare_bpf_trampoline': arch/powerpc/net/bpf_jit_comp.c:850:41: error: 'BPF_PPC_TAILCALL' undeclared (first use in this function); did you mean 'BPF_TAIL_CALL'? 850 | bpf_frame_size += SZL + BPF_PPC_TAILCALL; | ^~~~~~~~~~~~~~~~ | BPF_TAIL_CALL vim +644 arch/powerpc/net/bpf_jit_comp.c 625 626 /* 627 * Refer the label 'Generated stack layout' in this file for actual stack 628 * layout during trampoline invocation. 629 * 630 * Refer __arch_prepare_bpf_trampoline() for stack component details. 631 * 632 * The tailcall count/reference is present in caller's stack frame. Its required 633 * to copy the content of tail_call_info before calling the actual function 634 * to which the trampoline is attached. 635 * 636 */ 637 638 static void bpf_trampoline_setup_tail_call_info(u32 *image, struct codegen_context *ctx, 639 int func_frame_offset, 640 int bpf_dummy_frame_size, int r4_off) 641 { 642 if (IS_ENABLED(CONFIG_PPC64)) { 643 /* See bpf_jit_stack_tailcallinfo_offset() */ > 644 int tailcallinfo_offset = BPF_PPC_TAILCALL; 645 /* 646 * func_frame_offset = ...(1) 647 * bpf_dummy_frame_size + trampoline_frame_size 648 */ 649 EMIT(PPC_RAW_LD(_R4, _R1, func_frame_offset)); 650 EMIT(PPC_RAW_LD(_R3, _R4, -tailcallinfo_offset)); 651 652 /* 653 * Setting the tail_call_info in trampoline's frame 654 * depending on if previous frame had value or reference. 655 */ 656 EMIT(PPC_RAW_CMPLWI(_R3, MAX_TAIL_CALL_CNT)); 657 PPC_COND_BRANCH(COND_GT, CTX_NIA(ctx) + 8); 658 EMIT(PPC_RAW_ADDI(_R3, _R4, bpf_jit_stack_tailcallinfo_offset(ctx))); 659 /* 660 * From ...(1) above: 661 * trampoline_frame_bottom = ...(2) 662 * func_frame_offset - bpf_dummy_frame_size 663 * 664 * Using ...(2) derived above: 665 * trampoline_tail_call_info_offset = ...(3) 666 * trampoline_frame_bottom - tailcallinfo_offset 667 * 668 * From ...(3): 669 * Use trampoline_tail_call_info_offset to write reference of main's 670 * tail_call_info in trampoline frame. 671 */ 672 EMIT(PPC_RAW_STL(_R3, _R1, (func_frame_offset - bpf_dummy_frame_size) 673 - tailcallinfo_offset)); 674 675 } else { 676 /* See bpf_jit_stack_offsetof() and BPF_PPC_TC */ 677 EMIT(PPC_RAW_LL(_R4, _R1, r4_off)); 678 } 679 } 680 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki

