Messages in this thread | | | Date | Tue, 12 Jul 2022 05:41:49 +0800 | From | kernel test robot <> | Subject | [jolsa-perf:bpf/tramp_29 25/32] kernel/bpf/trampoline.c:948:16: error: implicit declaration of function 'ftrace_hash_alloc' |
| |
tree: https://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf.git bpf/tramp_29 head: ec522c20e55e48f561146afbb81513e20870ee12 commit: f8f16c805972e534643c5a5d23709766f7af22e4 [25/32] bpf: Add support to attach multi trampolines config: x86_64-randconfig-a006 (https://download.01.org/0day-ci/archive/20220712/202207120532.8OjZqfrT-lkp@intel.com/config) compiler: gcc-11 (Debian 11.3.0-3) 11.3.0 reproduce (this is a W=1 build): # https://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf.git/commit/?id=f8f16c805972e534643c5a5d23709766f7af22e4 git remote add jolsa-perf https://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf.git git fetch --no-tags jolsa-perf bpf/tramp_29 git checkout f8f16c805972e534643c5a5d23709766f7af22e4 # save the config file mkdir build_dir && cp config build_dir/.config make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash
If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
kernel/bpf/trampoline.c: In function 'bpf_tramp_update_set': >> kernel/bpf/trampoline.c:948:16: error: implicit declaration of function 'ftrace_hash_alloc' [-Werror=implicit-function-declaration] 948 | hash = ftrace_hash_alloc(FTRACE_HASH_MAX_BITS); | ^~~~~~~~~~~~~~~~~ >> kernel/bpf/trampoline.c:948:34: error: 'FTRACE_HASH_MAX_BITS' undeclared (first use in this function) 948 | hash = ftrace_hash_alloc(FTRACE_HASH_MAX_BITS); | ^~~~~~~~~~~~~~~~~~~~ kernel/bpf/trampoline.c:948:34: note: each undeclared identifier is reported only once for each function it appears in >> kernel/bpf/trampoline.c:975:33: error: implicit declaration of function 'ftrace_hash_add_entry' [-Werror=implicit-function-declaration] 975 | ftrace_hash_add_entry(hash, entry); | ^~~~~~~~~~~~~~~~~~~~~ >> kernel/bpf/trampoline.c:989:15: error: implicit declaration of function 'set_ftrace_direct'; did you mean 'modify_ftrace_direct'? [-Werror=implicit-function-declaration] 989 | err = set_ftrace_direct(hash); | ^~~~~~~~~~~~~~~~~ | modify_ftrace_direct >> kernel/bpf/trampoline.c:991:9: error: implicit declaration of function 'ftrace_hash_free' [-Werror=implicit-function-declaration] 991 | ftrace_hash_free(hash); | ^~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors
vim +/ftrace_hash_alloc +948 kernel/bpf/trampoline.c
941 942 static int bpf_tramp_update_set(struct list_head *upd) 943 { 944 struct bpf_trampoline *tr; 945 struct ftrace_hash *hash; 946 int i, err; 947 > 948 hash = ftrace_hash_alloc(FTRACE_HASH_MAX_BITS); 949 if (!hash) 950 return -ENOMEM; 951 952 list_for_each_entry(tr, upd, update.list) { 953 struct ftrace_func_entry *entry; 954 unsigned long direct; 955 956 switch (tr->update.action) { 957 case BPF_TRAMP_UPDATE_REG: 958 case BPF_TRAMP_UPDATE_MODIFY: 959 direct = (unsigned long) tr->update.im->image; 960 break; 961 case BPF_TRAMP_UPDATE_UNREG: 962 direct = 0; 963 break; 964 } 965 966 if (tr->multi.id_multi) { 967 for (i = 0; i < tr->multi.id_multi->cnt; i++) { 968 entry = kmalloc(sizeof(*entry), GFP_KERNEL); 969 if (!entry) { 970 err = -ENOMEM; 971 goto out_free; 972 } 973 entry->ip = (unsigned long) tr->multi.id_multi->addr[i]; 974 entry->direct = direct; > 975 ftrace_hash_add_entry(hash, entry); 976 } 977 } else { 978 entry = kmalloc(sizeof(*entry), GFP_KERNEL); 979 if (!entry) { 980 err = -ENOMEM; 981 goto out_free; 982 } 983 entry->ip = (unsigned long) tr->func.addr; 984 entry->direct = direct; 985 ftrace_hash_add_entry(hash, entry); 986 } 987 } 988 > 989 err = set_ftrace_direct(hash); 990 out_free: > 991 ftrace_hash_free(hash); 992 return err; 993 } 994
-- 0-DAY CI Kernel Test Service https://01.org/lkp
| |