History

Merge tag 'trace-3.8-rc4-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace

Pull ftrace fix from Steven Rostedt: "Kprobes now uses the function tracer if it can. That is, if a probe is placed on a function mcount/nop location, and the arch supports it, instead of adding a breakpoint, kprobes will register a function callback as that is much more efficient. The function tracer requires to update modules before they run, and uses the module notifier to do so. But if something else in the module notifiers registers a kprobe at one of these locations, before ftrace can get to it, then the system could fail. The function tracer must be initialized early, otherwise module notifiers that probe will only work by chance." * tag 'trace-3.8-rc4-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: ftrace: Be first to run code modification on modules

Linus Torvalds committed 13 years ago

Commit d26d4522 parents 0944c0a c1bf08a1 file · +1 −1Browse files

Unified · Split

kernel/trace/ftrace.c+1−1
@@ -3998,7 +3998,7 @@ static int ftrace_module_notify(struct notifier_block *self, · 3997 unmodified lines
39983998
39993999 struct notifier_block ftrace_module_nb = {
40004000 .notifier_call = ftrace_module_notify,
4001− .priority = 0,
4001+ .priority = INT_MAX, /* Run before anything that can use kprobes */
40024002 };
40034003
40044004 extern unsigned long __start_mcount_loc[];