• Masami Hiramatsu's avatar
    ftrace, kprobes: Support IPMODIFY flag to find IP modify conflict · f8b8be8a
    Masami Hiramatsu authored
    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: default avatarMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
    [ fixed up some of the comments ]
    Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
    f8b8be8a
ftrace.c 135 KB