Commit 5cf42f70 authored by Ingo Molnar's avatar Ingo Molnar

Merge branch 'tip/perf/urgent-2' of...

Merge branch 'tip/perf/urgent-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/urgent
parents 86dd7909 a4f18ed1
...@@ -2740,7 +2740,7 @@ static int ftrace_process_regex(struct ftrace_hash *hash, ...@@ -2740,7 +2740,7 @@ static int ftrace_process_regex(struct ftrace_hash *hash,
{ {
char *func, *command, *next = buff; char *func, *command, *next = buff;
struct ftrace_func_command *p; struct ftrace_func_command *p;
int ret; int ret = -EINVAL;
func = strsep(&next, ":"); func = strsep(&next, ":");
...@@ -3330,6 +3330,7 @@ static int ftrace_process_locs(struct module *mod, ...@@ -3330,6 +3330,7 @@ static int ftrace_process_locs(struct module *mod,
{ {
unsigned long *p; unsigned long *p;
unsigned long addr; unsigned long addr;
unsigned long flags;
mutex_lock(&ftrace_lock); mutex_lock(&ftrace_lock);
p = start; p = start;
...@@ -3346,7 +3347,13 @@ static int ftrace_process_locs(struct module *mod, ...@@ -3346,7 +3347,13 @@ static int ftrace_process_locs(struct module *mod,
ftrace_record_ip(addr); ftrace_record_ip(addr);
} }
/*
* Disable interrupts to prevent interrupts from executing
* code that is being modified.
*/
local_irq_save(flags);
ftrace_update_code(mod); ftrace_update_code(mod);
local_irq_restore(flags);
mutex_unlock(&ftrace_lock); mutex_unlock(&ftrace_lock);
return 0; return 0;
......
...@@ -1870,8 +1870,12 @@ fs_initcall(init_kprobe_trace); ...@@ -1870,8 +1870,12 @@ fs_initcall(init_kprobe_trace);
#ifdef CONFIG_FTRACE_STARTUP_TEST #ifdef CONFIG_FTRACE_STARTUP_TEST
static int kprobe_trace_selftest_target(int a1, int a2, int a3, /*
int a4, int a5, int a6) * The "__used" keeps gcc from removing the function symbol
* from the kallsyms table.
*/
static __used int kprobe_trace_selftest_target(int a1, int a2, int a3,
int a4, int a5, int a6)
{ {
return a1 + a2 + a3 + a4 + a5 + a6; return a1 + a2 + a3 + a4 + a5 + a6;
} }
......
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