From: Masami Hiramatsu <mhiramat@kernel.org>
To: Steven Rostedt <rostedt@goodmis.org>,
Jonathan Corbet <corbet@lwn.net>,
Shuah Khan <skhan@linuxfoundation.org>
Cc: mhiramat@kernel.org, linux-kernel@vger.kernel.org,
linux-doc@vger.kernel.org, Randy Dunlap <rdunlap@infradead.org>,
Ingo Molnar <mingo@kernel.org>,
linux-kselftest@vger.kernel.org
Subject: [PATCH v3 5/8] tracing/uprobes: Support perf-style return probe
Date: Thu, 10 Sep 2020 17:55:46 +0900 [thread overview]
Message-ID: <159972814601.428528.7641183316212425445.stgit@devnote2> (raw)
In-Reply-To: <159972809455.428528.4737752126800169128.stgit@devnote2>
Support perf-style return probe ("SYMBOL%return") for uprobe events
as same as kprobe events does.
Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
---
kernel/trace/trace.c | 2 +-
kernel/trace/trace_uprobe.c | 15 ++++++++++++++-
2 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index 2c8c8f7ddef7..faf55f5dd99d 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -5125,7 +5125,7 @@ static const char readme_msg[] =
"place (kretprobe): [<module>:]<symbol>[+<offset>]%return|<memaddr>\n"
#endif
#ifdef CONFIG_UPROBE_EVENTS
- " place (uprobe): <path>:<offset>[(ref_ctr_offset)]\n"
+ " place (uprobe): <path>:<offset>[%return][(ref_ctr_offset)]\n"
#endif
"\t args: <name>=fetcharg[:type]\n"
"\t fetcharg: %<register>, @<address>, @<symbol>[+|-<offset>],\n"
diff --git a/kernel/trace/trace_uprobe.c b/kernel/trace/trace_uprobe.c
index f4286c9bdeb4..fb5ec4e55484 100644
--- a/kernel/trace/trace_uprobe.c
+++ b/kernel/trace/trace_uprobe.c
@@ -528,7 +528,7 @@ static int register_trace_uprobe(struct trace_uprobe *tu)
/*
* Argument syntax:
- * - Add uprobe: p|r[:[GRP/]EVENT] PATH:OFFSET [FETCHARGS]
+ * - Add uprobe: p|r[:[GRP/]EVENT] PATH:OFFSET[%return][(REF)] [FETCHARGS]
*/
static int trace_uprobe_create(int argc, const char **argv)
{
@@ -617,6 +617,19 @@ static int trace_uprobe_create(int argc, const char **argv)
}
}
+ /* Check if there is %return suffix */
+ tmp = strchr(arg, '%');
+ if (tmp) {
+ if (!strcmp(tmp, "%return")) {
+ *tmp = '\0';
+ is_return = true;
+ } else {
+ trace_probe_log_err(tmp - filename, BAD_ADDR_SUFFIX);
+ ret = -EINVAL;
+ goto fail_address_parse;
+ }
+ }
+
/* Parse uprobe offset. */
ret = kstrtoul(arg, 0, &offset);
if (ret) {
next prev parent reply other threads:[~2020-09-10 8:58 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-10 8:54 [PATCH v3 0/8] tracing/boot: Add new options for tracing specific period Masami Hiramatsu
2020-09-10 8:55 ` [PATCH v3 1/8] kprobes: tracing/kprobes: Fix to kill kprobes on initmem after boot Masami Hiramatsu
2020-09-10 8:55 ` [PATCH v3 2/8] tracing/boot: Add per-instance tracing_on option support Masami Hiramatsu
2020-09-10 8:55 ` [PATCH v3 3/8] Documentation: tracing: Add tracing_on option to boot-time tracer Masami Hiramatsu
2020-09-10 13:26 ` Bird, Tim
2020-09-10 22:41 ` Masami Hiramatsu
2020-09-11 0:47 ` [PATCH v3.1 " Masami Hiramatsu
2020-09-10 8:55 ` [PATCH v3 4/8] tracing/kprobes: Support perf-style return probe Masami Hiramatsu
2020-09-10 8:55 ` Masami Hiramatsu [this message]
2020-09-10 8:55 ` [PATCH v3 6/8] Documentation: tracing: Add %return suffix description Masami Hiramatsu
2020-09-10 8:56 ` [PATCH v3 7/8] Documentation: tracing: boot: Add an example of tracing function-calls Masami Hiramatsu
2020-09-10 8:56 ` [PATCH v3 8/8] selftests/ftrace: Add %return suffix tests Masami Hiramatsu
2020-09-10 23:34 ` [PATCH v3 0/8] tracing/boot: Add new options for tracing specific period Steven Rostedt
2020-09-11 1:27 ` Masami Hiramatsu
2020-09-11 1:34 ` Shuah Khan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=159972814601.428528.7641183316212425445.stgit@devnote2 \
--to=mhiramat@kernel.org \
--cc=corbet@lwn.net \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=rdunlap@infradead.org \
--cc=rostedt@goodmis.org \
--cc=skhan@linuxfoundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).