]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commit - kernel/trace/ftrace.c
ftrace, kprobes: Support IPMODIFY flag to find IP modify conflict
authorMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Fri, 21 Nov 2014 10:25:16 +0000 (05:25 -0500)
committerSteven Rostedt <rostedt@goodmis.org>
Fri, 21 Nov 2014 19:42:10 +0000 (14:42 -0500)
commitf8b8be8a310a55856fd2c369dade08088d85df3b
tree4c427a2981e4b66392b5bf9d7f8988479040150c
parenta017784f1b236cbc42ce83b4345a667c21113481
ftrace, kprobes: Support IPMODIFY flag to find IP modify conflict

Introduce FTRACE_OPS_FL_IPMODIFY to avoid conflict among
ftrace users who may modify regs->ip to change the execution
path. If two or more users modify the regs->ip on the same
function entry, one of them will be broken. So they must add
IPMODIFY flag and make sure that ftrace_set_filter_ip() succeeds.

Note that ftrace doesn't allow ftrace_ops which has IPMODIFY
flag to have notrace hash, and the ftrace_ops must have a
filter hash (so that the ftrace_ops can hook only specific
entries), because it strongly depends on the address and
must be allowed for only few selected functions.

Link: http://lkml.kernel.org/r/20141121102516.11844.27829.stgit@localhost.localdomain
Cc: Jiri Kosina <jkosina@suse.cz>
Cc: Seth Jennings <sjenning@redhat.com>
Cc: Petr Mladek <pmladek@suse.cz>
Cc: Vojtech Pavlik <vojtech@suse.cz>
Cc: Miroslav Benes <mbenes@suse.cz>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
[ fixed up some of the comments ]
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Documentation/trace/ftrace.txt
include/linux/ftrace.h
kernel/trace/ftrace.c