aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/trace/trace_kprobe.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/trace/trace_kprobe.c')
-rw-r--r--kernel/trace/trace_kprobe.c27
1 files changed, 11 insertions, 16 deletions
diff --git a/kernel/trace/trace_kprobe.c b/kernel/trace/trace_kprobe.c
index 21b81a41dae5..919e0ddd8fcc 100644
--- a/kernel/trace/trace_kprobe.c
+++ b/kernel/trace/trace_kprobe.c
@@ -459,16 +459,14 @@ static int __register_trace_kprobe(struct trace_kprobe *tk)
459 if (ret == 0) 459 if (ret == 0)
460 tk->tp.flags |= TP_FLAG_REGISTERED; 460 tk->tp.flags |= TP_FLAG_REGISTERED;
461 else { 461 else {
462 pr_warning("Could not insert probe at %s+%lu: %d\n", 462 pr_warn("Could not insert probe at %s+%lu: %d\n",
463 trace_kprobe_symbol(tk), trace_kprobe_offset(tk), ret); 463 trace_kprobe_symbol(tk), trace_kprobe_offset(tk), ret);
464 if (ret == -ENOENT && trace_kprobe_is_on_module(tk)) { 464 if (ret == -ENOENT && trace_kprobe_is_on_module(tk)) {
465 pr_warning("This probe might be able to register after" 465 pr_warn("This probe might be able to register after target module is loaded. Continue.\n");
466 "target module is loaded. Continue.\n");
467 ret = 0; 466 ret = 0;
468 } else if (ret == -EILSEQ) { 467 } else if (ret == -EILSEQ) {
469 pr_warning("Probing address(0x%p) is not an " 468 pr_warn("Probing address(0x%p) is not an instruction boundary.\n",
470 "instruction boundary.\n", 469 tk->rp.kp.addr);
471 tk->rp.kp.addr);
472 ret = -EINVAL; 470 ret = -EINVAL;
473 } 471 }
474 } 472 }
@@ -529,7 +527,7 @@ static int register_trace_kprobe(struct trace_kprobe *tk)
529 /* Register new event */ 527 /* Register new event */
530 ret = register_kprobe_event(tk); 528 ret = register_kprobe_event(tk);
531 if (ret) { 529 if (ret) {
532 pr_warning("Failed to register probe event(%d)\n", ret); 530 pr_warn("Failed to register probe event(%d)\n", ret);
533 goto end; 531 goto end;
534 } 532 }
535 533
@@ -564,10 +562,9 @@ static int trace_kprobe_module_callback(struct notifier_block *nb,
564 __unregister_trace_kprobe(tk); 562 __unregister_trace_kprobe(tk);
565 ret = __register_trace_kprobe(tk); 563 ret = __register_trace_kprobe(tk);
566 if (ret) 564 if (ret)
567 pr_warning("Failed to re-register probe %s on" 565 pr_warn("Failed to re-register probe %s on %s: %d\n",
568 "%s: %d\n", 566 trace_event_name(&tk->tp.call),
569 trace_event_name(&tk->tp.call), 567 mod->name, ret);
570 mod->name, ret);
571 } 568 }
572 } 569 }
573 mutex_unlock(&probe_lock); 570 mutex_unlock(&probe_lock);
@@ -1336,16 +1333,14 @@ static __init int init_kprobe_trace(void)
1336 1333
1337 /* Event list interface */ 1334 /* Event list interface */
1338 if (!entry) 1335 if (!entry)
1339 pr_warning("Could not create tracefs " 1336 pr_warn("Could not create tracefs 'kprobe_events' entry\n");
1340 "'kprobe_events' entry\n");
1341 1337
1342 /* Profile interface */ 1338 /* Profile interface */
1343 entry = tracefs_create_file("kprobe_profile", 0444, d_tracer, 1339 entry = tracefs_create_file("kprobe_profile", 0444, d_tracer,
1344 NULL, &kprobe_profile_ops); 1340 NULL, &kprobe_profile_ops);
1345 1341
1346 if (!entry) 1342 if (!entry)
1347 pr_warning("Could not create tracefs " 1343 pr_warn("Could not create tracefs 'kprobe_profile' entry\n");
1348 "'kprobe_profile' entry\n");
1349 return 0; 1344 return 0;
1350} 1345}
1351fs_initcall(init_kprobe_trace); 1346fs_initcall(init_kprobe_trace);