Hi Yonghong, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on bpf-next/master] url: https://github.com/0day-ci/linux/commits/Yonghong-Song/bpf-implement-BPF_PERF_EVENT_QUERY-for-perf-event-query/20180518-060508 base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master config: i386-randconfig-x000-201819 (attached as .config) compiler: gcc-7 (Debian 7.3.0-16) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=i386 All warnings (new ones prefixed by >>): kernel/trace/trace_kprobe.c: In function 'bpf_get_kprobe_info': >> kernel/trace/trace_kprobe.c:1315:17: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] *probe_addr = (u64)tk->rp.kp.addr; ^ vim +1315 kernel/trace/trace_kprobe.c 1290 1291 int bpf_get_kprobe_info(struct perf_event *event, u32 *prog_info, 1292 const char **symbol, u64 *probe_offset, 1293 u64 *probe_addr, bool perf_type_tracepoint) 1294 { 1295 const char *pevent = trace_event_name(event->tp_event); 1296 const char *group = event->tp_event->class->system; 1297 struct trace_kprobe *tk; 1298 1299 if (perf_type_tracepoint) 1300 tk = find_trace_kprobe(pevent, group); 1301 else 1302 tk = event->tp_event->data; 1303 if (!tk) 1304 return -EINVAL; 1305 1306 *prog_info = trace_kprobe_is_return(tk) ? BPF_PERF_INFO_KRETPROBE 1307 : BPF_PERF_INFO_KPROBE; 1308 if (tk->symbol) { 1309 *symbol = tk->symbol; 1310 *probe_offset = tk->rp.kp.offset; 1311 *probe_addr = 0; 1312 } else { 1313 *symbol = NULL; 1314 *probe_offset = 0; > 1315 *probe_addr = (u64)tk->rp.kp.addr; 1316 } 1317 return 0; 1318 } 1319 #endif /* CONFIG_PERF_EVENTS */ 1320 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation