public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Steven Rostedt <rostedt@goodmis.org>
To: linux-kernel@vger.kernel.org
Cc: Ingo Molnar <mingo@kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Masami Hiramatsu <mhiramat@kernel.org>
Subject: [for-next][PATCH 07/16] selftests/ftrace: Add user-memory access syntax testcase
Date: Sun, 26 May 2019 15:18:35 -0400	[thread overview]
Message-ID: <20190526191847.397862902@goodmis.org> (raw)
In-Reply-To: 20190526191828.466305460@goodmis.org

From: Masami Hiramatsu <mhiramat@kernel.org>

Add a user-memory access syntax testcase which checks
new user-memory access syntax and ustring type.

Link: http://lkml.kernel.org/r/155789873385.26965.9557271156179140676.stgit@devnote2

Acked-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
---
 .../ftrace/test.d/kprobe/kprobe_args_user.tc  | 32 +++++++++++++++++++
 1 file changed, 32 insertions(+)
 create mode 100644 tools/testing/selftests/ftrace/test.d/kprobe/kprobe_args_user.tc

diff --git a/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_args_user.tc b/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_args_user.tc
new file mode 100644
index 000000000000..0f60087583d8
--- /dev/null
+++ b/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_args_user.tc
@@ -0,0 +1,32 @@
+#!/bin/sh
+# SPDX-License-Identifier: GPL-2.0
+# description: Kprobe event user-memory access
+
+[ -f kprobe_events ] || exit_unsupported # this is configurable
+
+grep -q '\$arg<N>' README || exit_unresolved # depends on arch
+grep -A10 "fetcharg:" README | grep -q 'ustring' || exit_unsupported
+grep -A10 "fetcharg:" README | grep -q '\[u\]<offset>' || exit_unsupported
+
+:;: "user-memory access syntax and ustring working on user memory";:
+echo 'p:myevent do_sys_open path=+0($arg2):ustring path2=+u0($arg2):string' \
+	> kprobe_events
+
+grep myevent kprobe_events | \
+	grep -q 'path=+0($arg2):ustring path2=+u0($arg2):string'
+echo 1 > events/kprobes/myevent/enable
+echo > /dev/null
+echo 0 > events/kprobes/myevent/enable
+
+grep myevent trace | grep -q 'path="/dev/null" path2="/dev/null"'
+
+:;: "user-memory access syntax and ustring not working with kernel memory";:
+echo 'p:myevent vfs_symlink path=+0($arg3):ustring path2=+u0($arg3):string' \
+	> kprobe_events
+echo 1 > events/kprobes/myevent/enable
+ln -s foo $TMPDIR/bar
+echo 0 > events/kprobes/myevent/enable
+
+grep myevent trace | grep -q 'path=(fault) path2=(fault)'
+
+exit 0
-- 
2.20.1



  parent reply	other threads:[~2019-05-26 19:19 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-26 19:18 [for-next][PATCH 00/16] tracing: Updates for the next merge window Steven Rostedt
2019-05-26 19:18 ` [for-next][PATCH 01/16] ftrace: Make enable and update parameters bool when applicable Steven Rostedt
2019-05-26 19:18 ` [for-next][PATCH 02/16] x86/ftrace: Make enable parameter bool where applicable Steven Rostedt
2019-05-26 19:18 ` [for-next][PATCH 03/16] x86/uaccess: Allow access_ok() in irq context if pagefault_disabled Steven Rostedt
2019-05-26 19:18 ` [for-next][PATCH 04/16] uaccess: Add non-pagefault user-space read functions Steven Rostedt
2019-05-26 19:18 ` [for-next][PATCH 05/16] tracing/probe: Add ustring type for user-space string Steven Rostedt
2019-05-26 19:18 ` [for-next][PATCH 06/16] tracing/probe: Support user-space dereference Steven Rostedt
2019-05-26 19:18 ` Steven Rostedt [this message]
2019-05-26 19:18 ` [for-next][PATCH 08/16] perf-probe: Add user memory access attribute support Steven Rostedt
2019-05-26 19:18 ` [for-next][PATCH 09/16] tracing: Use correct function name in trace_filter_add_remove_task() comment Steven Rostedt
2019-05-26 19:18 ` [for-next][PATCH 10/16] uaccess: Add a prototype of non-static __probe_user_read() Steven Rostedt
2019-05-26 19:18 ` [for-next][PATCH 11/16] tracing/kprobe: Cast user-space address correctly Steven Rostedt
2019-05-26 19:18 ` [for-next][PATCH 12/16] kprobes: Initialize kprobes at postcore_initcall Steven Rostedt
2019-07-02 16:50   ` Mark Rutland
2019-07-03 13:50     ` Catalin Marinas
2019-07-03 14:02     ` Steven Rostedt
2019-07-03 14:08       ` Catalin Marinas
2019-07-03 14:24         ` Steven Rostedt
2019-07-03 14:25           ` Steven Rostedt
2019-07-03 14:37             ` Steven Rostedt
2019-07-09 12:51             ` Masami Hiramatsu
2019-07-09 15:18               ` Steven Rostedt
2019-07-09 15:15         ` Steven Rostedt
2019-07-22 12:42           ` Catalin Marinas
2019-07-22 15:00             ` Steven Rostedt
2019-07-22 16:01               ` Catalin Marinas
2019-07-09 12:30       ` Masami Hiramatsu
2019-07-22 12:34         ` Catalin Marinas
2019-05-26 19:18 ` [for-next][PATCH 13/16] tracing/kprobe: Add kprobe_event= boot parameter Steven Rostedt
2019-05-26 19:18 ` [for-next][PATCH 14/16] tracing: Make a separate config for trace event self tests Steven Rostedt
2019-05-26 19:18 ` [for-next][PATCH 15/16] tracing/kprobe: Do not run kprobe boot tests if kprobe_event is on cmdline Steven Rostedt
2019-05-26 19:18 ` [for-next][PATCH 16/16] ftrace: Enable trampoline when rec count returns back to one Steven Rostedt

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=20190526191847.397862902@goodmis.org \
    --to=rostedt@goodmis.org \
    --cc=akpm@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mhiramat@kernel.org \
    --cc=mingo@kernel.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