Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1625471 > unrolled thread

[PATCH 0/2] [GIT PULL] tracing: Add test that tests the last fix

Started bySteven Rostedt <rostedt@goodmis.org>
First post2017-04-18 19:10 +0200
Last post2017-04-18 19:10 +0200
Articles 2 — 1 participant

Back to article view | Back to linux.kernel


Contents

  [PATCH 0/2] [GIT PULL] tracing: Add test that tests the last fix Steven Rostedt <rostedt@goodmis.org> - 2017-04-18 19:10 +0200
    [PATCH 2/2] selftests: ftrace: Add check for function-fork before running pid  filter test Steven Rostedt <rostedt@goodmis.org> - 2017-04-18 19:10 +0200

#1625471 — [PATCH 0/2] [GIT PULL] tracing: Add test that tests the last fix

FromSteven Rostedt <rostedt@goodmis.org>
Date2017-04-18 19:10 +0200
Subject[PATCH 0/2] [GIT PULL] tracing: Add test that tests the last fix
Message-ID<txENA-le-5@gated-at.bofh.it>
Linus,

While testing my development branch, without the fix for the pid use
after free bug, the selftest that Namhyung added triggers it. I figured
it would be good to add the test for the bug after the fix, such that
it does not exist without the fix.

I added another patch that lets the test only test part of the pid
filtering, and ignores the function-fork (filtering on children as well)
if the function-fork feature does not exist. This feature is added by
Namhyung just before he added this test. But since the test tests both
with and without the feature, it would be good to let it not fail if
the feature does not exist.

This pull is on top of the fix I just sent:

  "ftrace: Fix function pid filter on instances"

Please pull the latest trace-v4.11-rc5-4 tree, which can be found at:


  git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git
trace-v4.11-rc5-4

Tag SHA1: f70cf27fd881e9a2e4a6c339d620d43ceb4693ec
Head SHA1: 9ed19c7695670d00455c1de4682d5c7f14618689


Namhyung Kim (1):
      selftests: ftrace: Add a testcase for function PID filter

Steven Rostedt (VMware) (1):
      selftests: ftrace: Add check for function-fork before running pid filter test

----
 .../ftrace/test.d/ftrace/func-filter-pid.tc        | 117 +++++++++++++++++++++
 1 file changed, 117 insertions(+)
 create mode 100644 tools/testing/selftests/ftrace/test.d/ftrace/func-filter-pid.tc

[toc] | [next] | [standalone]


#1625472 — [PATCH 2/2] selftests: ftrace: Add check for function-fork before running pid filter test

FromSteven Rostedt <rostedt@goodmis.org>
Date2017-04-18 19:10 +0200
Subject[PATCH 2/2] selftests: ftrace: Add check for function-fork before running pid filter test
Message-ID<txENB-le-27@gated-at.bofh.it>
In reply to#1625471
From: "Steven Rostedt (VMware)" <rostedt@goodmis.org>

Have the func-filter-pid test check for the function-fork option before
testing it. It can still test the pid filtering, but will stop before
testing the function-fork option for children inheriting the pids.
This allows the test to be added before the function-fork feature, but after
a bug fix that triggers one of the bugs the test can cause.

Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Shuah Khan <shuahkh@osg.samsung.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
---
 .../ftrace/test.d/ftrace/func-filter-pid.tc        | 27 ++++++++++++++++++----
 1 file changed, 23 insertions(+), 4 deletions(-)

diff --git a/tools/testing/selftests/ftrace/test.d/ftrace/func-filter-pid.tc b/tools/testing/selftests/ftrace/test.d/ftrace/func-filter-pid.tc
index cd552f44c3b4..bab5ff7c607e 100644
--- a/tools/testing/selftests/ftrace/test.d/ftrace/func-filter-pid.tc
+++ b/tools/testing/selftests/ftrace/test.d/ftrace/func-filter-pid.tc
@@ -19,10 +19,19 @@ if [ ! -f set_ftrace_filter ]; then
     exit_unsupported
 fi
 
+do_function_fork=1
+
+if [ ! -f options/function-fork ]; then
+    do_function_fork=0
+    echo "no option for function-fork found. Option will not be tested."
+fi
+
 read PID _ < /proc/self/stat
 
-# default value of function-fork option
-orig_value=`grep function-fork trace_options`
+if [ $do_function_fork -eq 1 ]; then
+    # default value of function-fork option
+    orig_value=`grep function-fork trace_options`
+fi
 
 do_reset() {
     reset_tracer
@@ -31,6 +40,10 @@ do_reset() {
     echo > set_ftrace_filter
     echo > set_ftrace_pid
 
+    if [ $do_function_fork -eq 0 ]; then
+	return
+    fi
+
     echo $orig_value > trace_options
 }
 
@@ -53,8 +66,10 @@ do_test() {
     echo $PID > set_ftrace_pid
     echo function > current_tracer
 
-    # don't allow children to be traced
-    echo nofunction-fork > trace_options
+    if [ $do_function_fork -eq 1 ]; then
+	# don't allow children to be traced
+	echo nofunction-fork > trace_options
+    fi
 
     enable_tracing
     yield
@@ -70,6 +85,10 @@ do_test() {
     disable_tracing
     clear_trace
 
+    if [ $do_function_fork -eq 0 ]; then
+	return
+    fi
+
     # allow children to be traced
     echo function-fork > trace_options
 
-- 
2.10.2

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web