Re: [PATCH RESEND] trace_uprobe: support reference counter in fd-based uprobe

From: kbuild test robot
Date: Tue Sep 25 2018 - 02:27:26 EST


Hi Song,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on tip/perf/core]
[also build test ERROR on v4.19-rc5 next-20180925]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url: https://github.com/0day-ci/linux/commits/Song-Liu/trace_uprobe-support-reference-counter-in-fd-based-uprobe/20180925-135454
config: i386-randconfig-x005-201838 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
# save the attached .config to linux build tree
make ARCH=i386

All errors (new ones prefixed by >>):

kernel/trace/trace_uprobe.c: In function 'create_local_trace_uprobe':
>> kernel/trace/trace_uprobe.c:1376:4: error: 'struct trace_uprobe' has no member named 'ref_ctr_offset'
tu->ref_ctr_offset = ref_ctr_offset;
^~

vim +1376 kernel/trace/trace_uprobe.c

1340
1341 #ifdef CONFIG_PERF_EVENTS
1342 struct trace_event_call *
1343 create_local_trace_uprobe(char *name, unsigned long offs,
1344 unsigned long ref_ctr_offset, bool is_return)
1345 {
1346 struct trace_uprobe *tu;
1347 struct path path;
1348 int ret;
1349
1350 ret = kern_path(name, LOOKUP_FOLLOW, &path);
1351 if (ret)
1352 return ERR_PTR(ret);
1353
1354 if (!d_is_reg(path.dentry)) {
1355 path_put(&path);
1356 return ERR_PTR(-EINVAL);
1357 }
1358
1359 /*
1360 * local trace_kprobes are not added to probe_list, so they are never
1361 * searched in find_trace_kprobe(). Therefore, there is no concern of
1362 * duplicated name "DUMMY_EVENT" here.
1363 */
1364 tu = alloc_trace_uprobe(UPROBE_EVENT_SYSTEM, "DUMMY_EVENT", 0,
1365 is_return);
1366
1367 if (IS_ERR(tu)) {
1368 pr_info("Failed to allocate trace_uprobe.(%d)\n",
1369 (int)PTR_ERR(tu));
1370 path_put(&path);
1371 return ERR_CAST(tu);
1372 }
1373
1374 tu->offset = offs;
1375 tu->path = path;
> 1376 tu->ref_ctr_offset = ref_ctr_offset;
1377 tu->filename = kstrdup(name, GFP_KERNEL);
1378 init_trace_event_call(tu, &tu->tp.call);
1379
1380 if (set_print_fmt(&tu->tp, is_ret_probe(tu)) < 0) {
1381 ret = -ENOMEM;
1382 goto error;
1383 }
1384
1385 return &tu->tp.call;
1386 error:
1387 free_trace_uprobe(tu);
1388 return ERR_PTR(ret);
1389 }
1390

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: application/gzip