Commit 4983955c authored by Ingo Molnar's avatar Ingo Molnar

Merge branch 'tip/perf/core' of...

Merge branch 'tip/perf/core' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace into perf/core

Pull ftrace robustization fixes from Steve Rostedt.
Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
parents e227051b 7374e827
...@@ -207,6 +207,9 @@ struct ftrace_event_call { ...@@ -207,6 +207,9 @@ struct ftrace_event_call {
* bit 1: enabled * bit 1: enabled
* bit 2: filter_active * bit 2: filter_active
* bit 3: enabled cmd record * bit 3: enabled cmd record
* bit 4: allow trace by non root (cap any)
* bit 5: failed to apply filter
* bit 6: ftrace internal event (do not enable)
* *
* Changes to flags must hold the event_mutex. * Changes to flags must hold the event_mutex.
* *
......
...@@ -312,7 +312,7 @@ static int remove_ftrace_list_ops(struct ftrace_ops **list, ...@@ -312,7 +312,7 @@ static int remove_ftrace_list_ops(struct ftrace_ops **list,
static int __register_ftrace_function(struct ftrace_ops *ops) static int __register_ftrace_function(struct ftrace_ops *ops)
{ {
if (ftrace_disabled) if (unlikely(ftrace_disabled))
return -ENODEV; return -ENODEV;
if (FTRACE_WARN_ON(ops == &global_ops)) if (FTRACE_WARN_ON(ops == &global_ops))
...@@ -4299,16 +4299,12 @@ int register_ftrace_function(struct ftrace_ops *ops) ...@@ -4299,16 +4299,12 @@ int register_ftrace_function(struct ftrace_ops *ops)
mutex_lock(&ftrace_lock); mutex_lock(&ftrace_lock);
if (unlikely(ftrace_disabled))
goto out_unlock;
ret = __register_ftrace_function(ops); ret = __register_ftrace_function(ops);
if (!ret) if (!ret)
ret = ftrace_startup(ops, 0); ret = ftrace_startup(ops, 0);
out_unlock:
mutex_unlock(&ftrace_lock); mutex_unlock(&ftrace_lock);
return ret; return ret;
} }
EXPORT_SYMBOL_GPL(register_ftrace_function); EXPORT_SYMBOL_GPL(register_ftrace_function);
......
...@@ -1325,4 +1325,4 @@ __init static int init_events(void) ...@@ -1325,4 +1325,4 @@ __init static int init_events(void)
return 0; return 0;
} }
device_initcall(init_events); early_initcall(init_events);
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment