[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <tip-a39f15b9644fac3f950f522c39e667c3af25c588@git.kernel.org>
Date: Wed, 13 Feb 2019 01:03:16 -0800
From: tip-bot for Masami Hiramatsu <tipbot@...or.com>
To: linux-tip-commits@...r.kernel.org
Cc: righi.andrea@...il.com, acme@...hat.com, rostedt@...dmis.org,
linux-kernel@...r.kernel.org, peterz@...radead.org,
mhiramat@...nel.org, mathieu.desnoyers@...icios.com,
mingo@...nel.org, hpa@...or.com,
alexander.shishkin@...ux.intel.com, torvalds@...ux-foundation.org,
jolsa@...hat.com, tglx@...utronix.de
Subject: [tip:perf/core] kprobes: Prohibit probing on RCU debug routine
Commit-ID: a39f15b9644fac3f950f522c39e667c3af25c588
Gitweb: https://git.kernel.org/tip/a39f15b9644fac3f950f522c39e667c3af25c588
Author: Masami Hiramatsu <mhiramat@...nel.org>
AuthorDate: Wed, 13 Feb 2019 01:14:37 +0900
Committer: Ingo Molnar <mingo@...nel.org>
CommitDate: Wed, 13 Feb 2019 08:16:40 +0100
kprobes: Prohibit probing on RCU debug routine
Since kprobe itself depends on RCU, probing on RCU debug
routine can cause recursive breakpoint bugs.
Prohibit probing on RCU debug routines.
int3
->do_int3()
->ist_enter()
->RCU_LOCKDEP_WARN()
->debug_lockdep_rcu_enabled() -> int3
Signed-off-by: Masami Hiramatsu <mhiramat@...nel.org>
Cc: Alexander Shishkin <alexander.shishkin@...ux.intel.com>
Cc: Andrea Righi <righi.andrea@...il.com>
Cc: Arnaldo Carvalho de Melo <acme@...hat.com>
Cc: Jiri Olsa <jolsa@...hat.com>
Cc: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Mathieu Desnoyers <mathieu.desnoyers@...icios.com>
Cc: Peter Zijlstra <peterz@...radead.org>
Cc: Steven Rostedt <rostedt@...dmis.org>
Cc: Thomas Gleixner <tglx@...utronix.de>
Link: http://lkml.kernel.org/r/154998807741.31052.11229157537816341591.stgit@devbox
Signed-off-by: Ingo Molnar <mingo@...nel.org>
---
kernel/rcu/update.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/kernel/rcu/update.c b/kernel/rcu/update.c
index 1971869c4072..f4ca36d92138 100644
--- a/kernel/rcu/update.c
+++ b/kernel/rcu/update.c
@@ -52,6 +52,7 @@
#include <linux/tick.h>
#include <linux/rcupdate_wait.h>
#include <linux/sched/isolation.h>
+#include <linux/kprobes.h>
#define CREATE_TRACE_POINTS
@@ -249,6 +250,7 @@ int notrace debug_lockdep_rcu_enabled(void)
current->lockdep_recursion == 0;
}
EXPORT_SYMBOL_GPL(debug_lockdep_rcu_enabled);
+NOKPROBE_SYMBOL(debug_lockdep_rcu_enabled);
/**
* rcu_read_lock_held() - might we be in RCU read-side critical section?
Powered by blists - more mailing lists