Hi Menglong, kernel test robot noticed the following build errors:
[auto build test ERROR on bpf-next/master] url: https://github.com/intel-lab-lkp/linux/commits/Menglong-Dong/ftrace-introduce-FTRACE_OPS_FL_JMP/20251117-115243 base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master patch link: https://lore.kernel.org/r/20251117034906.32036-7-dongml2%40chinatelecom.cn patch subject: [PATCH bpf-next v2 6/6] bpf: implement "jmp" mode for trampoline config: arm64-randconfig-002-20251118 (https://download.01.org/0day-ci/archive/20251118/[email protected]/config) compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 0bba1e76581bad04e7d7f09f5115ae5e2989e0d9) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251118/[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 >>): kernel/bpf/trampoline.c:500:11: error: incomplete definition of type 'struct ftrace_ops' 500 | tr->fops->flags |= FTRACE_OPS_FL_JMP; | ~~~~~~~~^ include/linux/ftrace.h:40:8: note: forward declaration of 'struct ftrace_ops' 40 | struct ftrace_ops; | ^ >> kernel/bpf/trampoline.c:500:22: error: use of undeclared identifier >> 'FTRACE_OPS_FL_JMP' 500 | tr->fops->flags |= FTRACE_OPS_FL_JMP; | ^~~~~~~~~~~~~~~~~ kernel/bpf/trampoline.c:502:11: error: incomplete definition of type 'struct ftrace_ops' 502 | tr->fops->flags &= ~FTRACE_OPS_FL_JMP; | ~~~~~~~~^ include/linux/ftrace.h:40:8: note: forward declaration of 'struct ftrace_ops' 40 | struct ftrace_ops; | ^ kernel/bpf/trampoline.c:502:23: error: use of undeclared identifier 'FTRACE_OPS_FL_JMP' 502 | tr->fops->flags &= ~FTRACE_OPS_FL_JMP; | ^~~~~~~~~~~~~~~~~ kernel/bpf/trampoline.c:534:12: error: incomplete definition of type 'struct ftrace_ops' 534 | tr->fops->flags |= FTRACE_OPS_FL_JMP; | ~~~~~~~~^ include/linux/ftrace.h:40:8: note: forward declaration of 'struct ftrace_ops' 40 | struct ftrace_ops; | ^ kernel/bpf/trampoline.c:534:23: error: use of undeclared identifier 'FTRACE_OPS_FL_JMP' 534 | tr->fops->flags |= FTRACE_OPS_FL_JMP; | ^~~~~~~~~~~~~~~~~ kernel/bpf/trampoline.c:536:12: error: incomplete definition of type 'struct ftrace_ops' 536 | tr->fops->flags &= ~FTRACE_OPS_FL_JMP; | ~~~~~~~~^ include/linux/ftrace.h:40:8: note: forward declaration of 'struct ftrace_ops' 40 | struct ftrace_ops; | ^ kernel/bpf/trampoline.c:536:24: error: use of undeclared identifier 'FTRACE_OPS_FL_JMP' 536 | tr->fops->flags &= ~FTRACE_OPS_FL_JMP; | ^~~~~~~~~~~~~~~~~ 8 errors generated. vim +/FTRACE_OPS_FL_JMP +500 kernel/bpf/trampoline.c 470 471 size = arch_bpf_trampoline_size(&tr->func.model, tr->flags, 472 tlinks, tr->func.addr); 473 if (size < 0) { 474 err = size; 475 goto out; 476 } 477 478 if (size > PAGE_SIZE) { 479 err = -E2BIG; 480 goto out; 481 } 482 483 im = bpf_tramp_image_alloc(tr->key, size); 484 if (IS_ERR(im)) { 485 err = PTR_ERR(im); 486 goto out; 487 } 488 489 err = arch_prepare_bpf_trampoline(im, im->image, im->image + size, 490 &tr->func.model, tr->flags, tlinks, 491 tr->func.addr); 492 if (err < 0) 493 goto out_free; 494 495 err = arch_protect_bpf_trampoline(im->image, im->size); 496 if (err) 497 goto out_free; 498 499 if (bpf_trampoline_use_jmp(tr->flags)) > 500 tr->fops->flags |= FTRACE_OPS_FL_JMP; 501 else 502 tr->fops->flags &= ~FTRACE_OPS_FL_JMP; 503 504 WARN_ON(tr->cur_image && total == 0); 505 if (tr->cur_image) 506 /* progs already running at this address */ 507 err = modify_fentry(tr, orig_flags, tr->cur_image->image, 508 im->image, lock_direct_mutex); 509 else 510 /* first time registering */ 511 err = register_fentry(tr, im->image); 512 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
