x86/kprobes: Prohibit probing on functions before kprobe_int3_handler()
authorMasami Hiramatsu <mhiramat@kernel.org>
Tue, 12 Feb 2019 16:12:15 +0000 (01:12 +0900)
committerIngo Molnar <mingo@kernel.org>
Wed, 13 Feb 2019 07:16:39 +0000 (08:16 +0100)
commitc13324a505c7790fe91a9df35be2e0462abccdb0
treed99299fcdea3562a4629f5721388759c16cad7b4
parent877b145f0f4723133f934be402b8dfc769eb971f
x86/kprobes: Prohibit probing on functions before kprobe_int3_handler()

Prohibit probing on the functions called before kprobe_int3_handler()
in do_int3(). More specifically, ftrace_int3_handler(),
poke_int3_handler(), and ist_enter(). And since rcu_nmi_enter() is
called by ist_enter(), it also should be marked as NOKPROBE_SYMBOL.

Since those are handled before kprobe_int3_handler(), probing those
functions can cause a breakpoint recursion and crash the kernel.

Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Andrea Righi <righi.andrea@gmail.com>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/154998793571.31052.11301258949601150994.stgit@devbox
Signed-off-by: Ingo Molnar <mingo@kernel.org>
arch/x86/kernel/alternative.c
arch/x86/kernel/ftrace.c
arch/x86/kernel/traps.c
kernel/rcu/tree.c